From c35a5719eb08ff76a10d554a0e61d0af81ff26e6 Mon Sep 17 00:00:00 2001 From: AkshayaFoiger <131388445+AkshayaFoiger@users.noreply.github.com> Date: Wed, 9 Aug 2023 19:07:33 +0530 Subject: [PATCH] fix(connector): [Adyen] Response Handling in case of RefusalResponse (#1877) --- crates/router/src/connector/adyen.rs | 11 +++++++++++ crates/router/src/connector/adyen/transformers.rs | 10 ++++++++++ 2 files changed, 21 insertions(+) diff --git a/crates/router/src/connector/adyen.rs b/crates/router/src/connector/adyen.rs index 2471beba32..ba4e83f414 100644 --- a/crates/router/src/connector/adyen.rs +++ b/crates/router/src/connector/adyen.rs @@ -385,6 +385,17 @@ impl ), } } + adyen::AdyenRedirectRequestTypes::AdyenRefusal(req) => { + adyen::AdyenRedirectRequest { + details: adyen::AdyenRedirectRequestTypes::AdyenRefusal( + adyen::AdyenRefusal { + payload: req.payload, + type_of_redirection_result: None, + result_code: None, + }, + ), + } + } }; let adyen_request = types::RequestBody::log_and_get_request_body( diff --git a/crates/router/src/connector/adyen/transformers.rs b/crates/router/src/connector/adyen/transformers.rs index 5bb232fdb1..02f1b570ca 100644 --- a/crates/router/src/connector/adyen/transformers.rs +++ b/crates/router/src/connector/adyen/transformers.rs @@ -226,6 +226,16 @@ pub struct AdyenRedirectRequest { pub enum AdyenRedirectRequestTypes { AdyenRedirection(AdyenRedirection), AdyenThreeDS(AdyenThreeDS), + AdyenRefusal(AdyenRefusal), +} + +#[derive(Debug, Clone, Serialize, serde::Deserialize, Eq, PartialEq)] +#[serde(rename_all = "camelCase")] +pub struct AdyenRefusal { + pub payload: String, + #[serde(rename = "type")] + pub type_of_redirection_result: Option, + pub result_code: Option, } #[derive(Debug, Clone, Serialize, serde::Deserialize, Eq, PartialEq)]