mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +08:00
feat(connector): Add support for complete authorize payment after 3DS redirection (#741)
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
pub mod authorize_flow;
|
||||
pub mod cancel_flow;
|
||||
pub mod capture_flow;
|
||||
pub mod complete_authorize_flow;
|
||||
pub mod psync_flow;
|
||||
pub mod session_flow;
|
||||
pub mod verfiy_flow;
|
||||
@ -8,7 +9,11 @@ pub mod verfiy_flow;
|
||||
use async_trait::async_trait;
|
||||
|
||||
use crate::{
|
||||
core::{errors::RouterResult, payments},
|
||||
connector,
|
||||
core::{
|
||||
errors::{ConnectorError, CustomResult, RouterResult},
|
||||
payments,
|
||||
},
|
||||
routes::AppState,
|
||||
services,
|
||||
types::{self, api, storage},
|
||||
@ -50,3 +55,82 @@ pub trait Feature<F, T> {
|
||||
Self: Sized,
|
||||
dyn api::Connector: services::ConnectorIntegration<F, T, types::PaymentsResponseData>;
|
||||
}
|
||||
|
||||
macro_rules! default_imp_for_complete_authorize{
|
||||
($($path:ident::$connector:ident),*)=> {
|
||||
$(
|
||||
impl api::PaymentsCompleteAuthorize for $path::$connector {}
|
||||
impl
|
||||
services::ConnectorIntegration<
|
||||
api::CompleteAuthorize,
|
||||
types::CompleteAuthorizeData,
|
||||
types::PaymentsResponseData,
|
||||
> for $path::$connector
|
||||
{}
|
||||
)*
|
||||
};
|
||||
}
|
||||
|
||||
default_imp_for_complete_authorize!(
|
||||
connector::Aci,
|
||||
connector::Adyen,
|
||||
connector::Airwallex,
|
||||
connector::Applepay,
|
||||
connector::Authorizedotnet,
|
||||
connector::Bambora,
|
||||
connector::Bluesnap,
|
||||
connector::Braintree,
|
||||
connector::Checkout,
|
||||
connector::Cybersource,
|
||||
connector::Dlocal,
|
||||
connector::Fiserv,
|
||||
connector::Globalpay,
|
||||
connector::Klarna,
|
||||
connector::Multisafepay,
|
||||
connector::Payu,
|
||||
connector::Rapyd,
|
||||
connector::Shift4,
|
||||
connector::Stripe,
|
||||
connector::Trustpay,
|
||||
connector::Worldline,
|
||||
connector::Worldpay
|
||||
);
|
||||
|
||||
macro_rules! default_imp_for_connector_redirect_response{
|
||||
($($path:ident::$connector:ident),*)=> {
|
||||
$(
|
||||
impl services::ConnectorRedirectResponse for $path::$connector {
|
||||
fn get_flow_type(
|
||||
&self,
|
||||
_query_params: &str,
|
||||
_json_payload: Option<serde_json::Value>,
|
||||
_action: services::PaymentAction
|
||||
) -> CustomResult<payments::CallConnectorAction, ConnectorError> {
|
||||
Ok(payments::CallConnectorAction::Trigger)
|
||||
}
|
||||
}
|
||||
)*
|
||||
};
|
||||
}
|
||||
|
||||
default_imp_for_connector_redirect_response!(
|
||||
connector::Aci,
|
||||
connector::Adyen,
|
||||
connector::Airwallex,
|
||||
connector::Applepay,
|
||||
connector::Authorizedotnet,
|
||||
connector::Bambora,
|
||||
connector::Bluesnap,
|
||||
connector::Braintree,
|
||||
connector::Cybersource,
|
||||
connector::Dlocal,
|
||||
connector::Fiserv,
|
||||
connector::Globalpay,
|
||||
connector::Klarna,
|
||||
connector::Multisafepay,
|
||||
connector::Payu,
|
||||
connector::Rapyd,
|
||||
connector::Shift4,
|
||||
connector::Worldline,
|
||||
connector::Worldpay
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user