Skip to content

Commit 9770ff6

Browse files
Nishanth ChallaNishanth Challa
authored andcommitted
resolves comments
1 parent 35eae6a commit 9770ff6

File tree

5 files changed

+44
-38
lines changed

5 files changed

+44
-38
lines changed

crates/hyperswitch_connectors/src/connectors/chargebee/transformers.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,6 @@ pub struct ChargebeeCardDetails {
337337
funding_type: ChargebeeFundingType,
338338
brand: common_enums::CardNetwork,
339339
iin: String,
340-
billing_country: common_enums::CountryAlpha2,
341340
}
342341

343342
#[derive(Serialize, Deserialize, Debug)]

crates/hyperswitch_connectors/src/connectors/recurly/transformers.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ pub struct PaymentMethod {
138138
pub object: RecurlyPaymentObject,
139139
pub card_type: common_enums::CardNetwork,
140140
pub first_six: String,
141-
pub cc_bin_country: common_enums::CountryAlpha2,
142141
}
143142

144143
#[derive(Debug, Serialize, Deserialize)]

crates/hyperswitch_connectors/src/connectors/stripebilling/transformers.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,6 @@ pub enum StripebillingPaymentMethod {
459459
#[derive(Serialize, Deserialize, Debug, Clone)]
460460
pub struct StripeBillingCardDetails {
461461
pub network: StripebillingCardNetwork,
462-
pub country: common_enums::CountryAlpha2,
463462
pub funding: StripebillingFundingTypes,
464463
}
465464

@@ -560,6 +559,7 @@ impl
560559
card_network: Some(common_enums::CardNetwork::from(
561560
charge_details.payment_method_details.card_details.network,
562561
)),
562+
// Todo: Fetch Card issuer details. Generally in the other billing connector we are getting card_issuer using the card bin info. But stripe dosent provide any such details. We should find a way for stripe billing case
563563
card_isin: None,
564564
},
565565
),

crates/hyperswitch_domain_models/src/payments.rs

Lines changed: 37 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -949,43 +949,46 @@ where
949949
let payment_intent_feature_metadata = self.payment_intent.get_feature_metadata();
950950
let revenue_recovery = self.payment_intent.get_revenue_recovery_metadata();
951951
let payment_attempt_connector = self.payment_attempt.connector.clone();
952-
let first_pg_error_code = revenue_recovery.as_ref().and_then(|data| {
953-
data.first_payment_attempt_pg_error_code
954-
.clone()
955-
.or_else(|| {
956-
self.payment_attempt
952+
953+
let feature_metadata_first_pg_error_code = revenue_recovery
954+
.as_ref()
955+
.and_then(|data| data.first_payment_attempt_pg_error_code.clone());
956+
957+
let (first_pg_error_code, first_network_advice_code, first_network_decline_code) =
958+
feature_metadata_first_pg_error_code.map_or_else(
959+
|| {
960+
let first_pg_error_code = self
961+
.payment_attempt
957962
.error
958963
.as_ref()
959-
.map(|error| error.code.clone())
960-
})
961-
});
964+
.map(|error| error.code.clone());
965+
let first_network_advice_code = self
966+
.payment_attempt
967+
.error
968+
.as_ref()
969+
.and_then(|error| error.network_advice_code.clone());
970+
let first_network_decline_code = self
971+
.payment_attempt
972+
.error
973+
.as_ref()
974+
.and_then(|error| error.network_decline_code.clone());
975+
(
976+
first_pg_error_code,
977+
first_network_advice_code,
978+
first_network_decline_code,
979+
)
980+
},
981+
|pg_code| {
982+
let advice_code = revenue_recovery
983+
.as_ref()
984+
.and_then(|data| data.first_payment_attempt_network_advice_code.clone());
985+
let decline_code = revenue_recovery
986+
.as_ref()
987+
.and_then(|data| data.first_payment_attempt_network_decline_code.clone());
988+
(Some(pg_code), advice_code, decline_code)
989+
},
990+
);
962991

963-
let (first_network_advice_code, first_network_decline_code) =
964-
if first_pg_error_code.is_some() {
965-
let advice_code = revenue_recovery.as_ref().and_then(|data| {
966-
data.first_payment_attempt_network_advice_code
967-
.clone()
968-
.or_else(|| {
969-
self.payment_attempt
970-
.error
971-
.as_ref()
972-
.map(|error| error.code.clone())
973-
})
974-
});
975-
let decline_code = revenue_recovery.as_ref().and_then(|data| {
976-
data.first_payment_attempt_network_decline_code
977-
.clone()
978-
.or_else(|| {
979-
self.payment_attempt
980-
.error
981-
.as_ref()
982-
.map(|error| error.code.clone())
983-
})
984-
});
985-
(advice_code, decline_code)
986-
} else {
987-
(None, None)
988-
};
989992
let payment_revenue_recovery_metadata = match payment_attempt_connector {
990993
Some(connector) => Some(diesel_models::types::PaymentRevenueRecoveryMetadata {
991994
// Update retry count by one.

crates/router/src/core/webhooks/recovery_incoming.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,12 @@ impl RevenueRecoveryAttempt {
620620
.clone()
621621
.async_and_then(|isin| async move {
622622
let issuer_identifier_number = isin.clone();
623-
state.store.get_card_info(isin.as_str()).await.ok()
623+
state
624+
.store
625+
.get_card_info(issuer_identifier_number.as_str())
626+
.await
627+
.map_err(|error| services::logger::warn!(card_info_error=?error))
628+
.ok()
624629
})
625630
.await
626631
.flatten();

0 commit comments

Comments
 (0)