Skip to content

Commit

Permalink
fix(payment_methods): make ApplepayPaymentMethod in payment_method_…
Browse files Browse the repository at this point in the history
…data column of `payment_attempt` table as json (#4154)
  • Loading branch information
ShankarSinghC authored Mar 20, 2024
1 parent 0e9b252 commit 7c0e4c7
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 16 deletions.
16 changes: 6 additions & 10 deletions crates/api_models/src/payments.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1576,20 +1576,16 @@ pub struct AdditionalCardInfo {
pub authentication_data: Option<serde_json::Value>,
}

#[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 {
Card(Box<AdditionalCardInfo>),
BankRedirect {
bank_name: Option<api_enums::BankNames>,
},
Wallet(Option<Wallets>),
Wallet {
apple_pay: Option<ApplepayPaymentMethod>,
},
PayLater {},
BankTransfer {},
Crypto {},
Expand Down Expand Up @@ -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)
Expand All @@ -2512,7 +2508,7 @@ pub enum PaymentMethodDataResponse {
#[serde(rename = "card")]
Card(Box<CardResponse>),
BankTransfer {},
Wallet(Option<Wallets>),
Wallet {},
PayLater {},
Paypal {},
BankRedirect {},
Expand Down Expand Up @@ -3451,7 +3447,7 @@ impl From<AdditionalPaymentData> 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 {},
Expand Down
10 changes: 4 additions & 6 deletions crates/router/src/core/payments/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 {}
Expand Down

0 comments on commit 7c0e4c7

Please sign in to comment.