feat(payments): Add feature_metadata in the payments response for v2 (#8667)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Amisha Prabhat
2025-07-16 21:43:59 +05:30
committed by GitHub
parent 9bc02516d6
commit dcf867d96e
4 changed files with 20 additions and 8 deletions

View File

@ -5808,6 +5808,9 @@ pub struct PaymentsResponse {
/// Stringified connector raw response body. Only returned if `return_raw_connector_response` is true
#[schema(value_type = Option<String>)]
pub raw_connector_response: Option<Secret<String>>,
/// Additional data that might be required by hyperswitch based on the additional features.
pub feature_metadata: Option<FeatureMetadata>,
}
#[cfg(feature = "v2")]
@ -7823,13 +7826,13 @@ pub struct FeatureMetadata {
/// Recurring payment details required for apple pay Merchant Token
pub apple_pay_recurring_details: Option<ApplePayRecurringDetails>,
/// revenue recovery data for payment intent
pub payment_revenue_recovery_metadata: Option<PaymentRevenueRecoveryMetadata>,
pub revenue_recovery: Option<PaymentRevenueRecoveryMetadata>,
}
#[cfg(feature = "v2")]
impl FeatureMetadata {
pub fn get_retry_count(&self) -> Option<u16> {
self.payment_revenue_recovery_metadata
self.revenue_recovery
.as_ref()
.map(|metadata| metadata.total_retry_count)
}
@ -7842,7 +7845,7 @@ impl FeatureMetadata {
redirect_response: self.redirect_response,
search_tags: self.search_tags,
apple_pay_recurring_details: self.apple_pay_recurring_details,
payment_revenue_recovery_metadata: Some(payment_revenue_recovery_metadata),
revenue_recovery: Some(payment_revenue_recovery_metadata),
}
}
}