Skip to content

Commit 0177f1d

Browse files
authored
feat(connector): [ACI] Implement Interac Online Bank Redirect (#1108)
1 parent 5fd1614 commit 0177f1d

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

crates/api_models/src/payments.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,13 @@ pub enum BankRedirectData {
630630
#[schema(value_type = BankNames, example = "abn_amro")]
631631
bank_name: api_enums::BankNames,
632632
},
633+
Interac {
634+
/// The country for bank payment
635+
#[schema(value_type = CountryAlpha2, example = "US")]
636+
country: api_enums::CountryAlpha2,
637+
638+
email: Email,
639+
},
633640
OnlineBankingCzechRepublic {
634641
// Issuer banks
635642
issuer: api_enums::BankNames,

crates/router/src/connector/aci/transformers.rs

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ pub struct BankRedirectionPMData {
8080
}
8181

8282
#[derive(Debug, Clone, Serialize, Deserialize)]
83-
#[serde(rename_all = "UPPERCASE")]
83+
#[serde(rename_all = "SCREAMING_SNAKE_CASE")]
8484
pub enum PaymentBrand {
8585
Eps,
8686
Ideal,
@@ -198,6 +198,18 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
198198
bank_account_bic: None,
199199
bank_account_iban: None,
200200
customer_email: Some(email.to_owned()),
201+
202+
shopper_result_url: item.request.router_return_url.clone(),
203+
}))
204+
}
205+
api_models::payments::BankRedirectData::Interac { email, country } => {
206+
PaymentDetails::BankRedirect(Box::new(BankRedirectionPMData {
207+
payment_brand: PaymentBrand::InteracOnline,
208+
bank_account_country: Some(*country),
209+
bank_account_bank_name: None,
210+
bank_account_bic: None,
211+
bank_account_iban: None,
212+
customer_email: Some(email.to_owned()),
201213
shopper_result_url: item.request.router_return_url.clone(),
202214
}))
203215
}

0 commit comments

Comments
 (0)