From 7c0e4c7229acacbeb93102bcdc25b74fd7a3314c Mon Sep 17 00:00:00 2001 From: Shankar Singh C <83439957+ShankarSinghC@users.noreply.github.com> Date: Wed, 20 Mar 2024 18:57:13 +0530 Subject: [PATCH] fix(payment_methods): make `ApplepayPaymentMethod` in payment_method_data column of `payment_attempt` table as json (#4154) --- crates/api_models/src/payments.rs | 16 ++++++---------- crates/router/src/core/payments/helpers.rs | 10 ++++------ 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/crates/api_models/src/payments.rs b/crates/api_models/src/payments.rs index 349e3548eb..83aff4a007 100644 --- a/crates/api_models/src/payments.rs +++ b/crates/api_models/src/payments.rs @@ -1576,12 +1576,6 @@ pub struct AdditionalCardInfo { pub authentication_data: Option, } -#[derive(Debug, Clone, Eq, PartialEq, serde::Deserialize, serde::Serialize)] -#[serde(rename_all = "snake_case")] -pub enum Wallets { - ApplePay(ApplepayPaymentMethod), -} - #[derive(Debug, Clone, Eq, PartialEq, serde::Deserialize, serde::Serialize)] #[serde(rename_all = "snake_case")] pub enum AdditionalPaymentData { @@ -1589,7 +1583,9 @@ pub enum AdditionalPaymentData { BankRedirect { bank_name: Option, }, - Wallet(Option), + Wallet { + apple_pay: Option, + }, PayLater {}, BankTransfer {}, Crypto {}, @@ -2495,7 +2491,7 @@ where | PaymentMethodDataResponse::PayLater {} | PaymentMethodDataResponse::Paypal {} | PaymentMethodDataResponse::Upi {} - | PaymentMethodDataResponse::Wallet(_) + | PaymentMethodDataResponse::Wallet {} | PaymentMethodDataResponse::BankTransfer {} | PaymentMethodDataResponse::Voucher {} => { payment_method_data_response.serialize(serializer) @@ -2512,7 +2508,7 @@ pub enum PaymentMethodDataResponse { #[serde(rename = "card")] Card(Box), BankTransfer {}, - Wallet(Option), + Wallet {}, PayLater {}, Paypal {}, BankRedirect {}, @@ -3451,7 +3447,7 @@ impl From for PaymentMethodDataResponse { match payment_method_data { AdditionalPaymentData::Card(card) => Self::Card(Box::new(CardResponse::from(*card))), AdditionalPaymentData::PayLater {} => Self::PayLater {}, - AdditionalPaymentData::Wallet(wallet) => Self::Wallet(wallet), + AdditionalPaymentData::Wallet { .. } => Self::Wallet {}, AdditionalPaymentData::BankRedirect { .. } => Self::BankRedirect {}, AdditionalPaymentData::Crypto {} => Self::Crypto {}, AdditionalPaymentData::BankDebit {} => Self::BankDebit {}, diff --git a/crates/router/src/core/payments/helpers.rs b/crates/router/src/core/payments/helpers.rs index 7493c787f4..112e3e64d6 100644 --- a/crates/router/src/core/payments/helpers.rs +++ b/crates/router/src/core/payments/helpers.rs @@ -3527,13 +3527,11 @@ pub async fn get_additional_payment_data( } api_models::payments::PaymentMethodData::Wallet(wallet) => match wallet { api_models::payments::WalletData::ApplePay(apple_pay_wallet_data) => { - api_models::payments::AdditionalPaymentData::Wallet(Some( - api_models::payments::Wallets::ApplePay( - apple_pay_wallet_data.payment_method.to_owned(), - ), - )) + api_models::payments::AdditionalPaymentData::Wallet { + apple_pay: Some(apple_pay_wallet_data.payment_method.to_owned()), + } } - _ => api_models::payments::AdditionalPaymentData::Wallet(None), + _ => api_models::payments::AdditionalPaymentData::Wallet { apple_pay: None }, }, api_models::payments::PaymentMethodData::PayLater(_) => { api_models::payments::AdditionalPaymentData::PayLater {}