Skip to content

Commit cef8914

Browse files
authored
Feat(Connector): [ACI] Implement Przelewy24 Bank Redirect (#1064)
1 parent e833a1d commit cef8914

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

crates/api_models/src/payments.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,10 @@ pub enum BankRedirectData {
646646
// Issuer value corresponds to the bank
647647
issuer: api_enums::BankNames,
648648
},
649-
Przelewy24 {},
649+
Przelewy24 {
650+
// Shopper Email
651+
email: Email,
652+
},
650653
Sofort {
651654
/// The billing details for bank redirection
652655
billing_details: BankRedirectBilling,

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

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
use std::str::FromStr;
22

3+
use common_utils::pii::Email;
34
use error_stack::report;
45
use masking::Secret;
56
use reqwest::Url;
@@ -73,6 +74,8 @@ pub struct BankRedirectionPMData {
7374
bank_account_bic: Option<Secret<String>>,
7475
#[serde(rename = "bankAccount.iban")]
7576
bank_account_iban: Option<Secret<String>>,
77+
#[serde(rename = "customer.email")]
78+
customer_email: Option<Email>,
7679
shopper_result_url: Option<String>,
7780
}
7881

@@ -83,6 +86,9 @@ pub enum PaymentBrand {
8386
Ideal,
8487
Giropay,
8588
Sofortueberweisung,
89+
InteracOnline,
90+
Przelewy,
91+
Trustly,
8692
}
8793

8894
#[derive(Debug, Clone, Eq, PartialEq, Serialize)]
@@ -145,6 +151,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
145151
bank_account_bank_name: None,
146152
bank_account_bic: None,
147153
bank_account_iban: None,
154+
customer_email: None,
148155
shopper_result_url: item.request.router_return_url.clone(),
149156
}))
150157
}
@@ -158,6 +165,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
158165
bank_account_bank_name: None,
159166
bank_account_bic: bank_account_bic.clone(),
160167
bank_account_iban: bank_account_iban.clone(),
168+
customer_email: None,
161169
shopper_result_url: item.request.router_return_url.clone(),
162170
})),
163171
api_models::payments::BankRedirectData::Ideal { bank_name, .. } => {
@@ -167,6 +175,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
167175
bank_account_bank_name: Some(bank_name.to_string()),
168176
bank_account_bic: None,
169177
bank_account_iban: None,
178+
customer_email: None,
170179
shopper_result_url: item.request.router_return_url.clone(),
171180
}))
172181
}
@@ -177,6 +186,18 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
177186
bank_account_bank_name: None,
178187
bank_account_bic: None,
179188
bank_account_iban: None,
189+
customer_email: None,
190+
shopper_result_url: item.request.router_return_url.clone(),
191+
}))
192+
}
193+
api_models::payments::BankRedirectData::Przelewy24 { email } => {
194+
PaymentDetails::BankRedirect(Box::new(BankRedirectionPMData {
195+
payment_brand: PaymentBrand::Przelewy,
196+
bank_account_country: None,
197+
bank_account_bank_name: None,
198+
bank_account_bic: None,
199+
bank_account_iban: None,
200+
customer_email: Some(email.to_owned()),
180201
shopper_result_url: item.request.router_return_url.clone(),
181202
}))
182203
}

0 commit comments

Comments
 (0)