mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-10-31 10:06:32 +08:00 
			
		
		
		
	fix(connector): Add network error message support for payment connectors (#7760)
Co-authored-by: Chikke Srujan <chikke.srujan@Chikke-Srujan-N7WRTY72X7.local> Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
		| @ -128,9 +128,9 @@ impl ConnectorCommon for Stripe { | ||||
|             reason: response.error.message, | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -324,6 +324,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -331,9 +332,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -455,6 +456,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -462,9 +464,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -611,6 +613,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -618,9 +621,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -784,6 +787,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -791,9 +795,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -952,6 +956,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -959,9 +964,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -1082,6 +1087,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -1089,9 +1095,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -1245,6 +1251,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -1252,9 +1259,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -1417,6 +1424,7 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -1424,9 +1432,9 @@ impl services::ConnectorIntegration<api::Execute, types::RefundsData, types::Ref | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -1554,6 +1562,7 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -1561,9 +1570,9 @@ impl services::ConnectorIntegration<api::RSync, types::RefundsData, types::Refun | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -1711,6 +1720,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -1718,9 +1728,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -1827,6 +1837,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -1834,9 +1845,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
| @ -1961,6 +1972,7 @@ impl | ||||
|                 response | ||||
|                     .error | ||||
|                     .decline_code | ||||
|                     .clone() | ||||
|                     .map(|decline_code| { | ||||
|                         format!("message - {}, decline_code - {}", message, decline_code) | ||||
|                     }) | ||||
| @ -1968,9 +1980,9 @@ impl | ||||
|             }), | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: response.error.payment_intent.map(|pi| pi.id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response.error.network_advice_code, | ||||
|             network_decline_code: response.error.network_decline_code, | ||||
|             network_error_message: response.error.decline_code.or(response.error.advice_code), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
|  | ||||
| @ -3305,6 +3305,9 @@ pub struct ErrorDetails { | ||||
|     pub param: Option<String>, | ||||
|     pub decline_code: Option<String>, | ||||
|     pub payment_intent: Option<PaymentIntentErrorResponse>, | ||||
|     pub network_advice_code: Option<String>, | ||||
|     pub network_decline_code: Option<String>, | ||||
|     pub advice_code: Option<String>, | ||||
| } | ||||
|  | ||||
| #[derive(Clone, Debug, Default, Eq, PartialEq, Deserialize, Serialize)] | ||||
| @ -3719,6 +3722,7 @@ pub struct WebhookEventObjectData { | ||||
|     pub evidence_details: Option<EvidenceDetails>, | ||||
|     pub status: Option<WebhookEventStatus>, | ||||
|     pub metadata: Option<StripeMetadata>, | ||||
|     pub last_payment_error: Option<ErrorDetails>, | ||||
| } | ||||
|  | ||||
| #[derive(Debug, Clone, Serialize, Deserialize, strum::Display)] | ||||
| @ -4178,9 +4182,15 @@ impl ForeignTryFrom<(&Option<ErrorDetails>, u16, String)> for types::PaymentsRes | ||||
|             status_code: http_code, | ||||
|             attempt_status: None, | ||||
|             connector_transaction_id: Some(response_id), | ||||
|             network_advice_code: None, | ||||
|             network_decline_code: None, | ||||
|             network_error_message: None, | ||||
|             network_advice_code: response | ||||
|                 .as_ref() | ||||
|                 .and_then(|res| res.network_advice_code.clone()), | ||||
|             network_decline_code: response | ||||
|                 .as_ref() | ||||
|                 .and_then(|res| res.network_decline_code.clone()), | ||||
|             network_error_message: response | ||||
|                 .as_ref() | ||||
|                 .and_then(|res| res.decline_code.clone().or(res.advice_code.clone())), | ||||
|         }) | ||||
|     } | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 chikke srujan
					chikke srujan