Skip to content

Commit df7bff1

Browse files
chore: addressal of comments
1 parent fa76433 commit df7bff1

File tree

6 files changed

+29
-25
lines changed

6 files changed

+29
-25
lines changed

crates/api_models/src/payments.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2933,9 +2933,7 @@ impl Address {
29332933

29342934
// used by customers also, could be moved outside
29352935
/// Address details
2936-
#[derive(
2937-
Clone, Default, Debug, Eq, serde::Deserialize, serde::Serialize, Setter, PartialEq, ToSchema,
2938-
)]
2936+
#[derive(Clone, Default, Debug, Eq, serde::Deserialize, serde::Serialize, PartialEq, ToSchema)]
29392937
#[serde(deny_unknown_fields)]
29402938
pub struct AddressDetails {
29412939
/// The address city

crates/diesel_models/src/payment_intent.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ pub struct PaymentIntent {
5959
pub request_external_three_ds_authentication: Option<bool>,
6060
pub charges: Option<pii::SecretSerdeValue>,
6161
pub frm_metadata: Option<pii::SecretSerdeValue>,
62-
pub billing_address_details: Option<Encryption>,
6362
pub customer_details: Option<Encryption>,
63+
pub billing_address_details: Option<Encryption>,
6464
}
6565

6666
#[derive(
@@ -116,8 +116,8 @@ pub struct PaymentIntentNew {
116116
pub request_external_three_ds_authentication: Option<bool>,
117117
pub charges: Option<pii::SecretSerdeValue>,
118118
pub frm_metadata: Option<pii::SecretSerdeValue>,
119-
pub billing_address_details: Option<Encryption>,
120119
pub customer_details: Option<Encryption>,
120+
pub billing_address_details: Option<Encryption>,
121121
}
122122

123123
#[derive(Debug, Clone, Serialize, Deserialize)]
@@ -253,8 +253,8 @@ pub struct PaymentIntentUpdateInternal {
253253
pub fingerprint_id: Option<String>,
254254
pub request_external_three_ds_authentication: Option<bool>,
255255
pub frm_metadata: Option<pii::SecretSerdeValue>,
256-
pub billing_address_details: Option<Encryption>,
257256
pub customer_details: Option<Encryption>,
257+
pub billing_address_details: Option<Encryption>,
258258
}
259259

260260
impl PaymentIntentUpdate {
@@ -290,8 +290,8 @@ impl PaymentIntentUpdate {
290290
fingerprint_id,
291291
request_external_three_ds_authentication,
292292
frm_metadata,
293-
billing_address_details,
294293
customer_details,
294+
billing_address_details,
295295
} = self.into();
296296
PaymentIntent {
297297
amount: amount.unwrap_or(source.amount),
@@ -329,8 +329,8 @@ impl PaymentIntentUpdate {
329329
request_external_three_ds_authentication: request_external_three_ds_authentication
330330
.or(source.request_external_three_ds_authentication),
331331
frm_metadata: frm_metadata.or(source.frm_metadata),
332-
billing_address_details: billing_address_details.or(source.billing_address_details),
333332
customer_details: customer_details.or(source.customer_details),
333+
billing_address_details: billing_address_details.or(source.billing_address_details),
334334
..source
335335
}
336336
}

crates/hyperswitch_domain_models/src/payments/payment_attempt.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -529,8 +529,8 @@ impl behaviour::Conversion for PaymentIntent {
529529
request_external_three_ds_authentication: self.request_external_three_ds_authentication,
530530
charges: self.charges,
531531
frm_metadata: self.frm_metadata,
532-
billing_address_details: self.billing_address_details.map(Encryption::from),
533532
customer_details: self.customer_details.map(Encryption::from),
533+
billing_address_details: self.billing_address_details.map(Encryption::from),
534534
})
535535
}
536536

@@ -588,14 +588,14 @@ impl behaviour::Conversion for PaymentIntent {
588588
.request_external_three_ds_authentication,
589589
charges: storage_model.charges,
590590
frm_metadata: storage_model.frm_metadata,
591-
billing_address_details: storage_model
592-
.billing_address_details
593-
.async_lift(inner_decrypt)
594-
.await?,
595591
customer_details: storage_model
596592
.customer_details
597593
.async_lift(inner_decrypt)
598594
.await?,
595+
billing_address_details: storage_model
596+
.billing_address_details
597+
.async_lift(inner_decrypt)
598+
.await?,
599599
})
600600
}
601601
.await
@@ -649,8 +649,8 @@ impl behaviour::Conversion for PaymentIntent {
649649
request_external_three_ds_authentication: self.request_external_three_ds_authentication,
650650
charges: self.charges,
651651
frm_metadata: self.frm_metadata,
652-
billing_address_details: self.billing_address_details.map(Encryption::from),
653652
customer_details: self.customer_details.map(Encryption::from),
653+
billing_address_details: self.billing_address_details.map(Encryption::from),
654654
})
655655
}
656656
}

crates/hyperswitch_domain_models/src/payments/payment_intent.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ pub struct PaymentIntentNew {
133133
pub session_expiry: Option<PrimitiveDateTime>,
134134
pub request_external_three_ds_authentication: Option<bool>,
135135
pub charges: Option<pii::SecretSerdeValue>,
136-
pub billing_address_details: Option<Encryptable<Secret<serde_json::Value>>>,
137136
pub customer_details: Option<Encryptable<Secret<serde_json::Value>>>,
137+
pub billing_address_details: Option<Encryptable<Secret<serde_json::Value>>>,
138138
}
139139

140140
#[derive(Debug, Clone, Serialize)]
@@ -271,8 +271,8 @@ pub struct PaymentIntentUpdateInternal {
271271
pub session_expiry: Option<PrimitiveDateTime>,
272272
pub request_external_three_ds_authentication: Option<bool>,
273273
pub frm_metadata: Option<pii::SecretSerdeValue>,
274-
pub billing_address_details: Option<Encryptable<Secret<serde_json::Value>>>,
275274
pub customer_details: Option<Encryptable<Secret<serde_json::Value>>>,
275+
pub billing_address_details: Option<Encryptable<Secret<serde_json::Value>>>,
276276
}
277277

278278
impl From<PaymentIntentUpdate> for PaymentIntentUpdateInternal {
@@ -693,8 +693,8 @@ impl From<PaymentIntentUpdateInternal> for diesel_models::PaymentIntentUpdateInt
693693
fingerprint_id,
694694
request_external_three_ds_authentication,
695695
frm_metadata,
696-
billing_address_details,
697696
customer_details,
697+
billing_address_details,
698698
} = value;
699699

700700
Self {
@@ -728,8 +728,8 @@ impl From<PaymentIntentUpdateInternal> for diesel_models::PaymentIntentUpdateInt
728728
fingerprint_id,
729729
request_external_three_ds_authentication,
730730
frm_metadata,
731-
billing_address_details: billing_address_details.map(Encryption::from),
732731
customer_details: customer_details.map(Encryption::from),
732+
billing_address_details: billing_address_details.map(Encryption::from),
733733
}
734734
}
735735
}

crates/router/src/core/payments/operations/payment_confirm.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1215,8 +1215,11 @@ impl<F: Clone> UpdateTracker<F, PaymentData<F>, api::PaymentsRequest> for Paymen
12151215
);
12161216

12171217
let billing_address = payment_data.address.get_payment_billing();
1218-
let billing_address_details =
1219-
async { create_encrypted_data(key_store, billing_address).await }.await;
1218+
let billing_address_details = billing_address
1219+
.async_and_then(|billing| async {
1220+
create_encrypted_data(key_store, billing.address.clone()).await
1221+
})
1222+
.await;
12201223
let m_payment_data_payment_intent = payment_data.payment_intent.clone();
12211224
let m_customer_id = customer_id.clone();
12221225
let m_shipping_address_id = shipping_address_id.clone();

crates/router/src/core/payments/operations/payment_update.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
use std::marker::PhantomData;
22

33
use api_models::{
4-
enums::FrmSuggestion, mandates::RecurringDetails, payments::RequestSurchargeDetails,
4+
enums::FrmSuggestion,
5+
mandates::RecurringDetails,
6+
payments::{Address, RequestSurchargeDetails},
57
};
68
use async_trait::async_trait;
79
use common_utils::{
@@ -218,10 +220,11 @@ impl<F: Send + Clone> GetTracker<F, PaymentData<F>, api::PaymentsRequest> for Pa
218220
)
219221
.await?;
220222

221-
payment_intent.billing_address_details = billing_address
223+
let billing_details: Option<Address> = billing_address.as_ref().map(From::from);
224+
payment_intent.billing_address_details = billing_details
222225
.clone()
223-
.async_and_then(|_| async {
224-
create_encrypted_data(key_store, billing_address.clone()).await
226+
.async_and_then(|billing_details| async move {
227+
create_encrypted_data(key_store, billing_details.address.clone()).await
225228
})
226229
.await;
227230

@@ -440,7 +443,7 @@ impl<F: Send + Clone> GetTracker<F, PaymentData<F>, api::PaymentsRequest> for Pa
440443
customer_acceptance,
441444
address: PaymentAddress::new(
442445
shipping_address.as_ref().map(From::from),
443-
billing_address.as_ref().map(From::from),
446+
billing_details,
444447
payment_method_billing.as_ref().map(From::from),
445448
business_profile.use_billing_as_payment_method_billing,
446449
),

0 commit comments

Comments
 (0)