@@ -4,7 +4,8 @@ use std::fmt::Debug;
44
55use common_enums:: CurrencyUnit ;
66use common_utils:: {
7- errors:: CustomResult , ext_traits:: ByteSliceExt , request:: RequestContent , types:: StringMajorUnit ,
7+ errors:: CustomResult , events, ext_traits:: ByteSliceExt , request:: RequestContent ,
8+ types:: StringMajorUnit ,
89} ;
910use domain_types:: {
1011 connector_flow:: {
@@ -35,7 +36,6 @@ use hyperswitch_masking::Mask;
3536use hyperswitch_masking:: { ExposeInterface , Maskable , Secret } ;
3637use interfaces:: {
3738 api:: ConnectorCommon , connector_integration_v2:: ConnectorIntegrationV2 , connector_types,
38- events:: connector_api_logs:: ConnectorEvent ,
3939} ;
4040use serde:: Serialize ;
4141use transformers as fiservemea;
@@ -47,6 +47,7 @@ use transformers::{
4747
4848use super :: macros;
4949use crate :: types:: ResponseRouterData ;
50+ use crate :: with_error_response_body;
5051
5152pub ( crate ) mod headers {
5253 pub ( crate ) const CONTENT_TYPE : & str = "Content-Type" ;
@@ -118,7 +119,7 @@ macros::create_all_prerequisites!(
118119 let request_body_str = match temp_request_body {
119120 Some ( RequestContent :: Json ( json_body) ) => serde_json:: to_string( & json_body)
120121 . change_context( errors:: ConnectorError :: RequestEncodingFailed ) ?,
121- None => String :: from ( "" ) , // For GET requests
122+ None => String :: new ( ) , // For GET requests
122123 _ => return Err ( errors:: ConnectorError :: RequestEncodingFailed ) ?,
123124 } ;
124125
@@ -850,7 +851,7 @@ impl<T: PaymentMethodDataTypes + Debug + Sync + Send + 'static + Serialize> Conn
850851 fn build_error_response (
851852 & self ,
852853 res : Response ,
853- event_builder : Option < & mut ConnectorEvent > ,
854+ event_builder : Option < & mut events :: Event > ,
854855 ) -> CustomResult < ErrorResponse , errors:: ConnectorError > {
855856 let response: fiservemea:: FiservemeaErrorResponse = if res. response . is_empty ( ) {
856857 fiservemea:: FiservemeaErrorResponse :: default ( )
@@ -860,15 +861,10 @@ impl<T: PaymentMethodDataTypes + Debug + Sync + Send + 'static + Serialize> Conn
860861 . change_context ( errors:: ConnectorError :: ResponseDeserializationFailed ) ?
861862 } ;
862863
863- if let Some ( i) = event_builder {
864- i. set_error_response_body ( & response) ;
865- }
864+ with_error_response_body ! ( event_builder, response) ;
866865
867866 // Map specific error codes to attempt statuses
868867 let attempt_status = match response. code . as_deref ( ) {
869- Some ( "INSUFFICIENT_FUNDS" ) => Some ( common_enums:: AttemptStatus :: Failure ) ,
870- Some ( "INVALID_CARD" ) => Some ( common_enums:: AttemptStatus :: Failure ) ,
871- Some ( "EXPIRED_CARD" ) => Some ( common_enums:: AttemptStatus :: Failure ) ,
872868 Some ( "AUTHENTICATION_FAILED" ) => {
873869 Some ( common_enums:: AttemptStatus :: AuthenticationFailed )
874870 }
0 commit comments