Skip to content

Commit 833da1c

Browse files
fix(payment_methods): payment method type not being stored in payment method (#7411)
1 parent e949600 commit 833da1c

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

crates/router/src/core/payment_methods.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -920,7 +920,7 @@ pub async fn create_payment_method_core(
920920
.change_context(errors::ApiErrorResponse::InternalServerError)
921921
.attach_printable("Unable to generate GlobalPaymentMethodId")?;
922922

923-
let mut payment_method = create_payment_method_for_intent(
923+
let payment_method = create_payment_method_for_intent(
924924
state,
925925
req.metadata.clone(),
926926
&customer_id,
@@ -970,9 +970,6 @@ pub async fn create_payment_method_core(
970970

971971
let (response, payment_method) = match vaulting_result {
972972
Ok((vaulting_resp, fingerprint_id)) => {
973-
payment_method.set_payment_method_type(req.payment_method_type);
974-
payment_method.set_payment_method_subtype(req.payment_method_subtype);
975-
976973
let pm_update = create_pm_additional_data_update(
977974
Some(&payment_method_data),
978975
state,
@@ -982,6 +979,8 @@ pub async fn create_payment_method_core(
982979
&payment_method,
983980
None,
984981
network_tokenization_resp,
982+
Some(req.payment_method_type),
983+
Some(req.payment_method_subtype),
985984
)
986985
.await
987986
.attach_printable("Unable to create Payment method data")?;
@@ -1552,6 +1551,8 @@ pub async fn create_pm_additional_data_update(
15521551
payment_method: &domain::PaymentMethod,
15531552
connector_token_details: Option<payment_methods::ConnectorTokenDetails>,
15541553
nt_data: Option<NetworkTokenPaymentMethodDetails>,
1554+
payment_method_type: Option<common_enums::PaymentMethod>,
1555+
payment_method_subtype: Option<common_enums::PaymentMethodType>,
15551556
) -> RouterResult<storage::PaymentMethodUpdate> {
15561557
let encrypted_payment_method_data = payment_method_vaulting_data
15571558
.map(
@@ -1591,9 +1592,8 @@ pub async fn create_pm_additional_data_update(
15911592
let pm_update = storage::PaymentMethodUpdate::GenericUpdate {
15921593
status: Some(enums::PaymentMethodStatus::Active),
15931594
locker_id: vault_id,
1594-
// Payment method type remains the same, only card details are updated
1595-
payment_method_type_v2: None,
1596-
payment_method_subtype: None,
1595+
payment_method_type_v2: payment_method_type,
1596+
payment_method_subtype,
15971597
payment_method_data: encrypted_payment_method_data,
15981598
network_token_requestor_reference_id: nt_data
15991599
.clone()
@@ -1903,6 +1903,8 @@ pub async fn update_payment_method_core(
19031903
&payment_method,
19041904
request.connector_token_details,
19051905
None,
1906+
None,
1907+
None,
19061908
)
19071909
.await
19081910
.attach_printable("Unable to create Payment method data")?;

0 commit comments

Comments
 (0)