From 1b226389bd5c8c5dba211dc058c981d8d543f45a Mon Sep 17 00:00:00 2001 From: Swangi Kumari <85639103+swangi-kumari@users.noreply.github.com> Date: Wed, 5 Jul 2023 14:26:21 +0530 Subject: [PATCH] refactor(fix): [Nuvei] fix currency conversion issue in nuvei cards (#1605) Co-authored-by: Abhishek Marrivagu <68317979+Abhicodes-crypto@users.noreply.github.com> --- crates/router/src/connector/nuvei/transformers.rs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/crates/router/src/connector/nuvei/transformers.rs b/crates/router/src/connector/nuvei/transformers.rs index 86f68af22b..5eb95642b7 100644 --- a/crates/router/src/connector/nuvei/transformers.rs +++ b/crates/router/src/connector/nuvei/transformers.rs @@ -951,7 +951,10 @@ impl TryFrom<&types::PaymentsCaptureRouterData> for NuveiPaymentFlowRequest { Self::try_from(NuveiPaymentRequestData { client_request_id: item.attempt_id.clone(), connector_auth_type: item.connector_auth_type.clone(), - amount: item.request.amount_to_capture.to_string(), + amount: utils::to_currency_base_unit( + item.request.amount_to_capture, + item.request.currency, + )?, currency: item.request.currency, related_transaction_id: Some(item.request.connector_transaction_id.clone()), ..Default::default() @@ -964,7 +967,10 @@ impl TryFrom<&types::RefundExecuteRouterData> for NuveiPaymentFlowRequest { Self::try_from(NuveiPaymentRequestData { client_request_id: item.attempt_id.clone(), connector_auth_type: item.connector_auth_type.clone(), - amount: item.request.refund_amount.to_string(), + amount: utils::to_currency_base_unit( + item.request.refund_amount, + item.request.currency, + )?, currency: item.request.currency, related_transaction_id: Some(item.request.connector_transaction_id.clone()), ..Default::default() @@ -988,7 +994,10 @@ impl TryFrom<&types::PaymentsCancelRouterData> for NuveiPaymentFlowRequest { Self::try_from(NuveiPaymentRequestData { client_request_id: item.attempt_id.clone(), connector_auth_type: item.connector_auth_type.clone(), - amount: item.request.get_amount()?.to_string(), + amount: utils::to_currency_base_unit( + item.request.get_amount()?, + item.request.get_currency()?, + )?, currency: item.request.get_currency()?, related_transaction_id: Some(item.request.connector_transaction_id.clone()), ..Default::default()