mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-28 04:04:55 +08:00
feat(connector): [Fiuu] Consume error message thrown by connector for Psync flow and make extraP from response struct Secret (#6934)
This commit is contained in:
@ -908,7 +908,7 @@ impl webhooks::IncomingWebhook for Fiuu {
|
|||||||
serde_urlencoded::from_bytes::<transformers::FiuuWebhooksPaymentResponse>(request.body)
|
serde_urlencoded::from_bytes::<transformers::FiuuWebhooksPaymentResponse>(request.body)
|
||||||
.change_context(errors::ConnectorError::WebhookResourceObjectNotFound)?;
|
.change_context(errors::ConnectorError::WebhookResourceObjectNotFound)?;
|
||||||
let mandate_reference = webhook_payment_response.extra_parameters.as_ref().and_then(|extra_p| {
|
let mandate_reference = webhook_payment_response.extra_parameters.as_ref().and_then(|extra_p| {
|
||||||
let mandate_token: Result<ExtraParameters, _> = serde_json::from_str(extra_p);
|
let mandate_token: Result<ExtraParameters, _> = serde_json::from_str(&extra_p.clone().expose());
|
||||||
match mandate_token {
|
match mandate_token {
|
||||||
Ok(token) => {
|
Ok(token) => {
|
||||||
token.token.as_ref().map(|token| hyperswitch_domain_models::router_flow_types::ConnectorMandateDetails {
|
token.token.as_ref().map(|token| hyperswitch_domain_models::router_flow_types::ConnectorMandateDetails {
|
||||||
@ -918,7 +918,7 @@ impl webhooks::IncomingWebhook for Fiuu {
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
router_env::logger::warn!(
|
router_env::logger::warn!(
|
||||||
"Failed to convert 'extraP' from fiuu webhook response to fiuu::ExtraParameters. \
|
"Failed to convert 'extraP' from fiuu webhook response to fiuu::ExtraParameters. \
|
||||||
Input: '{}', Error: {}",
|
Input: '{:?}', Error: {}",
|
||||||
extra_p,
|
extra_p,
|
||||||
err
|
err
|
||||||
);
|
);
|
||||||
|
|||||||
@ -1168,9 +1168,9 @@ impl TryFrom<PaymentsSyncResponseRouterData<FiuuPaymentResponse>> for PaymentsSy
|
|||||||
let error_response = if status == enums::AttemptStatus::Failure {
|
let error_response = if status == enums::AttemptStatus::Failure {
|
||||||
Some(ErrorResponse {
|
Some(ErrorResponse {
|
||||||
status_code: item.http_code,
|
status_code: item.http_code,
|
||||||
code: response.stat_code.to_string(),
|
code: response.error_code.clone(),
|
||||||
message: response.stat_name.clone().to_string(),
|
message: response.error_desc.clone(),
|
||||||
reason: Some(response.stat_name.clone().to_string()),
|
reason: Some(response.error_desc),
|
||||||
attempt_status: Some(enums::AttemptStatus::Failure),
|
attempt_status: Some(enums::AttemptStatus::Failure),
|
||||||
connector_transaction_id: None,
|
connector_transaction_id: None,
|
||||||
})
|
})
|
||||||
@ -1199,7 +1199,7 @@ impl TryFrom<PaymentsSyncResponseRouterData<FiuuPaymentResponse>> for PaymentsSy
|
|||||||
status: response.status,
|
status: response.status,
|
||||||
})?;
|
})?;
|
||||||
let mandate_reference = response.extra_parameters.as_ref().and_then(|extra_p| {
|
let mandate_reference = response.extra_parameters.as_ref().and_then(|extra_p| {
|
||||||
let mandate_token: Result<ExtraParameters, _> = serde_json::from_str(extra_p);
|
let mandate_token: Result<ExtraParameters, _> = serde_json::from_str(&extra_p.clone().expose());
|
||||||
match mandate_token {
|
match mandate_token {
|
||||||
Ok(token) => {
|
Ok(token) => {
|
||||||
token.token.as_ref().map(|token| MandateReference {
|
token.token.as_ref().map(|token| MandateReference {
|
||||||
@ -1212,7 +1212,7 @@ impl TryFrom<PaymentsSyncResponseRouterData<FiuuPaymentResponse>> for PaymentsSy
|
|||||||
Err(err) => {
|
Err(err) => {
|
||||||
router_env::logger::warn!(
|
router_env::logger::warn!(
|
||||||
"Failed to convert 'extraP' from fiuu webhook response to fiuu::ExtraParameters. \
|
"Failed to convert 'extraP' from fiuu webhook response to fiuu::ExtraParameters. \
|
||||||
Input: '{}', Error: {}",
|
Input: '{:?}', Error: {}",
|
||||||
extra_p,
|
extra_p,
|
||||||
err
|
err
|
||||||
);
|
);
|
||||||
@ -1228,7 +1228,7 @@ impl TryFrom<PaymentsSyncResponseRouterData<FiuuPaymentResponse>> for PaymentsSy
|
|||||||
.clone()
|
.clone()
|
||||||
.unwrap_or(consts::NO_ERROR_CODE.to_owned()),
|
.unwrap_or(consts::NO_ERROR_CODE.to_owned()),
|
||||||
message: response
|
message: response
|
||||||
.error_code
|
.error_desc
|
||||||
.clone()
|
.clone()
|
||||||
.unwrap_or(consts::NO_ERROR_MESSAGE.to_owned()),
|
.unwrap_or(consts::NO_ERROR_MESSAGE.to_owned()),
|
||||||
reason: response.error_desc.clone(),
|
reason: response.error_desc.clone(),
|
||||||
@ -1697,7 +1697,7 @@ pub struct FiuuWebhooksPaymentResponse {
|
|||||||
pub error_desc: Option<String>,
|
pub error_desc: Option<String>,
|
||||||
pub error_code: Option<String>,
|
pub error_code: Option<String>,
|
||||||
#[serde(rename = "extraP")]
|
#[serde(rename = "extraP")]
|
||||||
pub extra_parameters: Option<String>,
|
pub extra_parameters: Option<Secret<String>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Deserialize, Serialize, Clone)]
|
#[derive(Debug, Deserialize, Serialize, Clone)]
|
||||||
|
|||||||
Reference in New Issue
Block a user