1
1
use std:: str:: FromStr ;
2
2
3
+ use common_utils:: pii:: Email ;
3
4
use error_stack:: report;
4
5
use masking:: Secret ;
5
6
use reqwest:: Url ;
@@ -73,6 +74,8 @@ pub struct BankRedirectionPMData {
73
74
bank_account_bic : Option < Secret < String > > ,
74
75
#[ serde( rename = "bankAccount.iban" ) ]
75
76
bank_account_iban : Option < Secret < String > > ,
77
+ #[ serde( rename = "customer.email" ) ]
78
+ customer_email : Option < Email > ,
76
79
shopper_result_url : Option < String > ,
77
80
}
78
81
@@ -83,6 +86,9 @@ pub enum PaymentBrand {
83
86
Ideal ,
84
87
Giropay ,
85
88
Sofortueberweisung ,
89
+ InteracOnline ,
90
+ Przelewy ,
91
+ Trustly ,
86
92
}
87
93
88
94
#[ derive( Debug , Clone , Eq , PartialEq , Serialize ) ]
@@ -145,6 +151,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
145
151
bank_account_bank_name : None ,
146
152
bank_account_bic : None ,
147
153
bank_account_iban : None ,
154
+ customer_email : None ,
148
155
shopper_result_url : item. request . router_return_url . clone ( ) ,
149
156
} ) )
150
157
}
@@ -158,6 +165,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
158
165
bank_account_bank_name : None ,
159
166
bank_account_bic : bank_account_bic. clone ( ) ,
160
167
bank_account_iban : bank_account_iban. clone ( ) ,
168
+ customer_email : None ,
161
169
shopper_result_url : item. request . router_return_url . clone ( ) ,
162
170
} ) ) ,
163
171
api_models:: payments:: BankRedirectData :: Ideal { bank_name, .. } => {
@@ -167,6 +175,7 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
167
175
bank_account_bank_name : Some ( bank_name. to_string ( ) ) ,
168
176
bank_account_bic : None ,
169
177
bank_account_iban : None ,
178
+ customer_email : None ,
170
179
shopper_result_url : item. request . router_return_url . clone ( ) ,
171
180
} ) )
172
181
}
@@ -177,6 +186,18 @@ impl TryFrom<&types::PaymentsAuthorizeRouterData> for AciPaymentsRequest {
177
186
bank_account_bank_name : None ,
178
187
bank_account_bic : None ,
179
188
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 ( ) ) ,
180
201
shopper_result_url : item. request . router_return_url . clone ( ) ,
181
202
} ) )
182
203
}
0 commit comments