feat(core): add additional revenue recovery call flow (#7402)

Co-authored-by: Nishanth Challa <nishanth.challa@Nishanth-Challa-C0WGKCFHLF.local>
Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
CHALLA NISHANTH BABU
2025-03-06 12:10:34 +05:30
committed by GitHub
parent 5a526fd9a3
commit 9e4135cd5e
23 changed files with 309 additions and 20 deletions

View File

@ -15,7 +15,8 @@ use async_trait::async_trait;
use hyperswitch_domain_models::{
mandates::CustomerAcceptance,
router_flow_types::{
Authenticate, AuthenticationConfirmation, PostAuthenticate, PreAuthenticate,
Authenticate, AuthenticationConfirmation, GetAdditionalRevenueRecoveryDetails,
PostAuthenticate, PreAuthenticate,
},
router_request_types::PaymentsCaptureData,
};
@ -2260,3 +2261,49 @@ fn handle_post_capture_response(
}
}
}
macro_rules! default_imp_for_additional_revenue_recovery_call {
($($path:ident::$connector:ident),*) => {
$( impl api::RevenueRecovery for $path::$connector {}
impl api::AdditionalRevenueRecovery for $path::$connector {}
impl
services::ConnectorIntegration<
GetAdditionalRevenueRecoveryDetails,
types::GetAdditionalRevenueRecoveryRequestData,
types::GetAdditionalRevenueRecoveryResponseData,
> for $path::$connector
{}
)*
};
}
#[cfg(feature = "dummy_connector")]
impl<const T: u8> api::RevenueRecovery for connector::DummyConnector<T> {}
impl<const T: u8> api::AdditionalRevenueRecovery for connector::DummyConnector<T> {}
#[cfg(feature = "dummy_connector")]
impl<const T: u8>
services::ConnectorIntegration<
GetAdditionalRevenueRecoveryDetails,
types::GetAdditionalRevenueRecoveryRequestData,
types::GetAdditionalRevenueRecoveryResponseData,
> for connector::DummyConnector<T>
{
}
default_imp_for_additional_revenue_recovery_call!(
connector::Adyenplatform,
connector::Adyen,
connector::Ebanx,
connector::Gpayments,
connector::Netcetera,
connector::Nmi,
connector::Payone,
connector::Paypal,
connector::Plaid,
connector::Riskified,
connector::Signifyd,
connector::Stripe,
connector::Threedsecureio,
connector::Wellsfargopayout,
connector::Wise
);