File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed
crates/router/src/connector/checkout Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -259,6 +259,10 @@ pub enum CheckoutPaymentIntent {
259
259
pub struct CheckoutThreeDS {
260
260
enabled : bool ,
261
261
force_3ds : bool ,
262
+ eci : Option < String > ,
263
+ cryptogram : Option < String > ,
264
+ xid : Option < String > ,
265
+ version : Option < String > ,
262
266
}
263
267
264
268
impl TryFrom < & types:: ConnectorAuthType > for CheckoutAuthType {
@@ -380,14 +384,24 @@ impl TryFrom<&CheckoutRouterData<&types::PaymentsAuthorizeRouterData>> for Payme
380
384
) ) ,
381
385
} ?;
382
386
387
+ let authentication_data = item. router_data . request . authentication_data . as_ref ( ) ;
388
+
383
389
let three_ds = match item. router_data . auth_type {
384
390
enums:: AuthenticationType :: ThreeDs => CheckoutThreeDS {
385
391
enabled : true ,
386
392
force_3ds : true ,
393
+ eci : authentication_data. and_then ( |auth| auth. eci . clone ( ) ) ,
394
+ cryptogram : authentication_data. and_then ( |auth| auth. cavv . clone ( ) ) ,
395
+ xid : authentication_data. map ( |auth| auth. threeds_server_transaction_id . clone ( ) ) ,
396
+ version : authentication_data. map ( |auth| auth. message_version . clone ( ) ) ,
387
397
} ,
388
398
enums:: AuthenticationType :: NoThreeDs => CheckoutThreeDS {
389
399
enabled : false ,
390
400
force_3ds : false ,
401
+ eci : None ,
402
+ cryptogram : None ,
403
+ xid : None ,
404
+ version : None ,
391
405
} ,
392
406
} ;
393
407
You can’t perform that action at this time.
0 commit comments