@@ -423,40 +423,69 @@ impl ConnectorIntegration<PSync, PaymentsSyncData, PaymentsResponseData> for Tru
423
423
. parse_struct ( "trustpay PaymentsResponse" )
424
424
. change_context ( errors:: ConnectorError :: ResponseDeserializationFailed ) ?;
425
425
426
- if let trustpay:: TrustpayPaymentsResponse :: WebhookResponse ( ref webhook_response) = response
427
- {
428
- let response_integrity_object = connector_utils:: get_sync_integrity_object (
429
- self . amount_converter_to_float_major_unit ,
430
- webhook_response. amount . amount ,
431
- webhook_response. amount . currency . to_string ( ) ,
432
- ) ?;
433
-
434
- event_builder. map ( |i| i. set_response_body ( & response) ) ;
435
- router_env:: logger:: info!( connector_response=?response) ;
436
-
437
- let new_router_data = RouterData :: try_from ( ResponseRouterData {
438
- response,
439
- data : data. clone ( ) ,
440
- http_code : res. status_code ,
441
- } ) ;
442
-
443
- return new_router_data
426
+ match & response {
427
+ trustpay:: TrustpayPaymentsResponse :: WebhookResponse ( webhook_response) => {
428
+ let response_integrity_object = connector_utils:: get_sync_integrity_object (
429
+ self . amount_converter_to_float_major_unit ,
430
+ webhook_response. amount . amount ,
431
+ webhook_response. amount . currency . to_string ( ) ,
432
+ ) ?;
433
+
434
+ event_builder. map ( |i| i. set_response_body ( & response) ) ;
435
+ router_env:: logger:: info!( connector_response=?response) ;
436
+
437
+ RouterData :: try_from ( ResponseRouterData {
438
+ response,
439
+ data : data. clone ( ) ,
440
+ http_code : res. status_code ,
441
+ } )
444
442
. map ( |mut router_data| {
445
443
router_data. request . integrity_object = Some ( response_integrity_object) ;
446
444
router_data
447
445
} )
448
- . change_context ( errors:: ConnectorError :: ResponseHandlingFailed ) ;
449
- }
446
+ . change_context ( errors:: ConnectorError :: ResponseHandlingFailed )
447
+ }
450
448
451
- event_builder. map ( |i| i. set_response_body ( & response) ) ;
452
- router_env:: logger:: info!( connector_response=?response) ;
449
+ trustpay:: TrustpayPaymentsResponse :: BankRedirectSync ( bank_redirect_sync_response) => {
450
+ let response_integrity_object = connector_utils:: get_sync_integrity_object (
451
+ self . amount_converter_to_float_major_unit ,
452
+ bank_redirect_sync_response
453
+ . payment_information
454
+ . amount
455
+ . amount ,
456
+ bank_redirect_sync_response
457
+ . payment_information
458
+ . amount
459
+ . currency
460
+ . to_string ( ) ,
461
+ ) ?;
462
+
463
+ event_builder. map ( |i| i. set_response_body ( & response) ) ;
464
+ router_env:: logger:: info!( connector_response=?response) ;
465
+
466
+ RouterData :: try_from ( ResponseRouterData {
467
+ response,
468
+ data : data. clone ( ) ,
469
+ http_code : res. status_code ,
470
+ } )
471
+ . map ( |mut router_data| {
472
+ router_data. request . integrity_object = Some ( response_integrity_object) ;
473
+ router_data
474
+ } )
475
+ . change_context ( errors:: ConnectorError :: ResponseHandlingFailed )
476
+ }
453
477
454
- RouterData :: try_from ( ResponseRouterData {
455
- response,
456
- data : data. clone ( ) ,
457
- http_code : res. status_code ,
458
- } )
459
- . change_context ( errors:: ConnectorError :: ResponseHandlingFailed )
478
+ _ => {
479
+ event_builder. map ( |i| i. set_response_body ( & response) ) ;
480
+ router_env:: logger:: info!( connector_response=?response) ;
481
+ RouterData :: try_from ( ResponseRouterData {
482
+ response,
483
+ data : data. clone ( ) ,
484
+ http_code : res. status_code ,
485
+ } )
486
+ . change_context ( errors:: ConnectorError :: ResponseHandlingFailed )
487
+ }
488
+ }
460
489
}
461
490
}
462
491
0 commit comments