feat(connector): [ACI] Implement Interac Online Bank Redirect (#1108)

This commit is contained in:
Sakil Mostak
2023-05-11 17:26:05 +05:30
committed by GitHub
parent 5fd16146db
commit 0177f1d1b9
2 changed files with 20 additions and 1 deletions

View File

@ -630,6 +630,13 @@ pub enum BankRedirectData {
#[schema(value_type = BankNames, example = "abn_amro")]
bank_name: api_enums::BankNames,
},
Interac {
/// The country for bank payment
#[schema(value_type = CountryAlpha2, example = "US")]
country: api_enums::CountryAlpha2,
email: Email,
},
OnlineBankingCzechRepublic {
// Issuer banks
issuer: api_enums::BankNames,

View File

@ -80,7 +80,7 @@ pub struct BankRedirectionPMData {
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "UPPERCASE")]
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
pub enum PaymentBrand {
Eps,
Ideal,
@ -198,6 +198,18 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
bank_account_bic: None,
bank_account_iban: None,
customer_email: Some(email.to_owned()),
shopper_result_url: item.request.router_return_url.clone(),
}))
}
api_models::payments::BankRedirectData::Interac { email, country } => {
PaymentDetails::BankRedirect(Box::new(BankRedirectionPMData {
payment_brand: PaymentBrand::InteracOnline,
bank_account_country: Some(*country),
bank_account_bank_name: None,
bank_account_bic: None,
bank_account_iban: None,
customer_email: Some(email.to_owned()),
shopper_result_url: item.request.router_return_url.clone(),
}))
}