mirror of
https://github.com/juspay/hyperswitch.git
synced 2025-10-29 00:49:42 +08:00
refactor(router): remove the payment type column in payment intent (#2462)
This commit is contained in:
@ -105,7 +105,6 @@ pub struct PaymentIntent {
|
||||
// Manual review can occur when the transaction is marked as risky by the frm_processor, payment processor or when there is underpayment/over payment incase of crypto payment
|
||||
pub merchant_decision: Option<String>,
|
||||
pub payment_confirm_source: Option<storage_enums::PaymentSource>,
|
||||
pub payment_type: Option<storage_enums::PaymentType>,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)]
|
||||
@ -145,7 +144,6 @@ pub struct PaymentIntentNew {
|
||||
pub profile_id: Option<String>,
|
||||
pub merchant_decision: Option<String>,
|
||||
pub payment_confirm_source: Option<storage_enums::PaymentSource>,
|
||||
pub payment_type: Option<storage_enums::PaymentType>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
|
||||
@ -47,7 +47,6 @@ pub struct PaymentIntent {
|
||||
// Manual review can occur when the transaction is marked as risky by the frm_processor, payment processor or when there is underpayment/over payment incase of crypto payment
|
||||
pub merchant_decision: Option<String>,
|
||||
pub payment_confirm_source: Option<storage_enums::PaymentSource>,
|
||||
pub payment_type: Option<storage_enums::PaymentType>,
|
||||
}
|
||||
|
||||
#[derive(
|
||||
@ -99,7 +98,6 @@ pub struct PaymentIntentNew {
|
||||
pub profile_id: Option<String>,
|
||||
pub merchant_decision: Option<String>,
|
||||
pub payment_confirm_source: Option<storage_enums::PaymentSource>,
|
||||
pub payment_type: Option<storage_enums::PaymentType>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
|
||||
@ -609,7 +609,6 @@ diesel::table! {
|
||||
#[max_length = 64]
|
||||
merchant_decision -> Nullable<Varchar>,
|
||||
payment_confirm_source -> Nullable<PaymentSource>,
|
||||
payment_type -> Nullable<PaymentType>,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -861,6 +861,19 @@ pub async fn list_payment_methods(
|
||||
.await
|
||||
.transpose()?;
|
||||
|
||||
let payment_type = payment_attempt.as_ref().map(|pa| {
|
||||
let amount = api::Amount::from(pa.amount);
|
||||
let mandate_type = if pa.mandate_id.is_some() {
|
||||
Some(api::MandateTransactionType::RecurringMandateTransaction)
|
||||
} else if pa.mandate_details.is_some() {
|
||||
Some(api::MandateTransactionType::NewMandateTransaction)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
helpers::infer_payment_type(&amount, mandate_type.as_ref())
|
||||
});
|
||||
|
||||
let all_mcas = db
|
||||
.find_merchant_connector_account_by_merchant_id_and_disabled_list(
|
||||
&merchant_account.merchant_id,
|
||||
@ -1280,8 +1293,8 @@ pub async fn list_payment_methods(
|
||||
api::PaymentMethodListResponse {
|
||||
redirect_url: merchant_account.return_url,
|
||||
merchant_name: merchant_account.merchant_name,
|
||||
payment_type,
|
||||
payment_methods: payment_method_responses,
|
||||
payment_type: payment_intent.as_ref().and_then(|pi| pi.payment_type),
|
||||
mandate_payment: payment_attempt.and_then(|inner| inner.mandate_details).map(
|
||||
|d| match d {
|
||||
data_models::mandates::MandateDataType::SingleUse(i) => {
|
||||
|
||||
@ -2398,7 +2398,6 @@ mod tests {
|
||||
profile_id: None,
|
||||
merchant_decision: None,
|
||||
payment_confirm_source: None,
|
||||
payment_type: Some(api_enums::PaymentType::Normal),
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
let merchant_fulfillment_time = Some(900);
|
||||
@ -2446,7 +2445,6 @@ mod tests {
|
||||
profile_id: None,
|
||||
merchant_decision: None,
|
||||
payment_confirm_source: None,
|
||||
payment_type: Some(api_enums::PaymentType::Normal),
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
let merchant_fulfillment_time = Some(10);
|
||||
@ -2494,7 +2492,6 @@ mod tests {
|
||||
profile_id: None,
|
||||
merchant_decision: None,
|
||||
payment_confirm_source: None,
|
||||
payment_type: Some(api_enums::PaymentType::Normal),
|
||||
};
|
||||
let req_cs = Some("1".to_string());
|
||||
let merchant_fulfillment_time = Some(10);
|
||||
|
||||
@ -77,8 +77,6 @@ impl<F: Send + Clone> GetTracker<F, PaymentData<F>, api::PaymentsRequest> for Pa
|
||||
core_utils::validate_and_get_business_profile(db, request.profile_id.as_ref(), merchant_id)
|
||||
.await?;
|
||||
|
||||
let payment_type = helpers::infer_payment_type(&amount, mandate_type.as_ref());
|
||||
|
||||
let (
|
||||
token,
|
||||
payment_method,
|
||||
@ -147,7 +145,6 @@ impl<F: Send + Clone> GetTracker<F, PaymentData<F>, api::PaymentsRequest> for Pa
|
||||
request,
|
||||
shipping_address.clone().map(|x| x.address_id),
|
||||
billing_address.clone().map(|x| x.address_id),
|
||||
payment_type,
|
||||
attempt_id,
|
||||
state,
|
||||
)
|
||||
@ -606,7 +603,6 @@ impl PaymentCreate {
|
||||
request: &api::PaymentsRequest,
|
||||
shipping_address_id: Option<String>,
|
||||
billing_address_id: Option<String>,
|
||||
payment_type: enums::PaymentType,
|
||||
active_attempt_id: String,
|
||||
state: &AppState,
|
||||
) -> RouterResult<storage::PaymentIntentNew> {
|
||||
@ -681,7 +677,6 @@ impl PaymentCreate {
|
||||
profile_id: Some(profile_id),
|
||||
merchant_decision: None,
|
||||
payment_confirm_source: None,
|
||||
payment_type: Some(payment_type),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -106,7 +106,6 @@ impl PaymentIntentInterface for MockDb {
|
||||
profile_id: new.profile_id,
|
||||
merchant_decision: new.merchant_decision,
|
||||
payment_confirm_source: new.payment_confirm_source,
|
||||
payment_type: new.payment_type,
|
||||
};
|
||||
payment_intents.push(payment_intent.clone());
|
||||
Ok(payment_intent)
|
||||
|
||||
@ -91,7 +91,6 @@ impl<T: DatabaseStore> PaymentIntentInterface for KVRouterStore<T> {
|
||||
profile_id: new.profile_id.clone(),
|
||||
merchant_decision: new.merchant_decision.clone(),
|
||||
payment_confirm_source: new.payment_confirm_source,
|
||||
payment_type: new.payment_type,
|
||||
};
|
||||
|
||||
match self
|
||||
@ -708,7 +707,6 @@ impl DataModelExt for PaymentIntentNew {
|
||||
profile_id: self.profile_id,
|
||||
merchant_decision: self.merchant_decision,
|
||||
payment_confirm_source: self.payment_confirm_source,
|
||||
payment_type: self.payment_type,
|
||||
}
|
||||
}
|
||||
|
||||
@ -746,7 +744,6 @@ impl DataModelExt for PaymentIntentNew {
|
||||
profile_id: storage_model.profile_id,
|
||||
merchant_decision: storage_model.merchant_decision,
|
||||
payment_confirm_source: storage_model.payment_confirm_source,
|
||||
payment_type: storage_model.payment_type,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -789,7 +786,6 @@ impl DataModelExt for PaymentIntent {
|
||||
profile_id: self.profile_id,
|
||||
merchant_decision: self.merchant_decision,
|
||||
payment_confirm_source: self.payment_confirm_source,
|
||||
payment_type: self.payment_type,
|
||||
}
|
||||
}
|
||||
|
||||
@ -828,7 +824,6 @@ impl DataModelExt for PaymentIntent {
|
||||
profile_id: storage_model.profile_id,
|
||||
merchant_decision: storage_model.merchant_decision,
|
||||
payment_confirm_source: storage_model.payment_confirm_source,
|
||||
payment_type: storage_model.payment_type,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +0,0 @@
|
||||
-- This file should undo anything in `up.sql`
|
||||
|
||||
ALTER TABLE payment_intent
|
||||
DROP COLUMN payment_type;
|
||||
|
||||
DROP TYPE "PaymentType";
|
||||
@ -1,11 +0,0 @@
|
||||
-- Your SQL goes here
|
||||
|
||||
CREATE TYPE "PaymentType" AS ENUM (
|
||||
'normal',
|
||||
'new_mandate',
|
||||
'setup_mandate',
|
||||
'recurring_mandate'
|
||||
);
|
||||
|
||||
ALTER TABLE payment_intent
|
||||
ADD COLUMN payment_type "PaymentType";
|
||||
Reference in New Issue
Block a user