feat: ACH transfers (#905)

This commit is contained in:
Sangamesh Kulkarni
2023-05-19 15:14:29 +05:30
committed by GitHub
parent 39405bb478
commit 23bca66b81
39 changed files with 1247 additions and 66 deletions

View File

@ -70,6 +70,19 @@ pub trait Feature<F, T> {
Ok(None)
}
async fn preprocessing_steps<'a>(
self,
_state: &AppState,
_connector: &api::ConnectorData,
) -> RouterResult<Self>
where
F: Clone,
Self: Sized,
dyn api::Connector: services::ConnectorIntegration<F, T, types::PaymentsResponseData>,
{
Ok(self)
}
async fn create_connector_customer<'a>(
&self,
_state: &AppState,
@ -578,3 +591,66 @@ default_imp_for_defend_dispute!(
connector::Worldpay,
connector::Zen
);
macro_rules! default_imp_for_pre_processing_steps{
($($path:ident::$connector:ident),*)=> {
$(
impl api::PaymentsPreProcessing for $path::$connector {}
impl
services::ConnectorIntegration<
api::PreProcessing,
types::PaymentsPreProcessingData,
types::PaymentsResponseData,
> for $path::$connector
{}
)*
};
}
#[cfg(feature = "dummy_connector")]
impl<const T: u8> api::PaymentsPreProcessing for connector::DummyConnector<T> {}
#[cfg(feature = "dummy_connector")]
impl<const T: u8>
services::ConnectorIntegration<
api::PreProcessing,
types::PaymentsPreProcessingData,
types::PaymentsResponseData,
> for connector::DummyConnector<T>
{
}
default_imp_for_pre_processing_steps!(
connector::Aci,
connector::Adyen,
connector::Airwallex,
connector::Authorizedotnet,
connector::Bambora,
connector::Bitpay,
connector::Bluesnap,
connector::Braintree,
connector::Checkout,
connector::Coinbase,
connector::Cybersource,
connector::Dlocal,
connector::Iatapay,
connector::Fiserv,
connector::Forte,
connector::Globalpay,
connector::Klarna,
connector::Mollie,
connector::Multisafepay,
connector::Nexinets,
connector::Nmi,
connector::Noon,
connector::Nuvei,
connector::Opennode,
connector::Payeezy,
connector::Paypal,
connector::Payu,
connector::Rapyd,
connector::Shift4,
connector::Trustpay,
connector::Worldline,
connector::Worldpay,
connector::Zen
);