feat(router): Payment Intent and MCA changes for split payments (#9049)

This commit is contained in:
Anurag Thakur
2025-09-01 18:47:00 +05:30
committed by GitHub
parent ec5a955158
commit 81b340d3a9
20 changed files with 130 additions and 2 deletions

View File

@ -2349,6 +2349,10 @@ pub struct ProfileCreate {
/// It is used in payment processing, fraud detection, and regulatory compliance to determine regional rules and routing behavior.
#[schema(value_type = Option<MerchantCountryCode>, example = "840")]
pub merchant_country_code: Option<common_types::payments::MerchantCountryCode>,
/// Enable split payments, i.e., split the amount between multiple payment methods
#[schema(value_type = Option<SplitTxnsEnabled>, default = "skip")]
pub split_txns_enabled: Option<common_enums::SplitTxnsEnabled>,
}
#[cfg(feature = "v1")]
@ -2695,6 +2699,10 @@ pub struct ProfileResponse {
/// It is used in payment processing, fraud detection, and regulatory compliance to determine regional rules and routing behavior.
#[schema(value_type = Option<MerchantCountryCode>, example = "840")]
pub merchant_country_code: Option<common_types::payments::MerchantCountryCode>,
/// Enable split payments, i.e., split the amount between multiple payment methods
#[schema(value_type = SplitTxnsEnabled, default = "skip")]
pub split_txns_enabled: common_enums::SplitTxnsEnabled,
}
#[cfg(feature = "v1")]
@ -3013,6 +3021,10 @@ pub struct ProfileUpdate {
#[schema(value_type = Option<RevenueRecoveryAlgorithmType>, example = "cascading")]
pub revenue_recovery_retry_algorithm_type:
Option<common_enums::enums::RevenueRecoveryAlgorithmType>,
/// Enable split payments, i.e., split the amount between multiple payment methods
#[schema(value_type = Option<SplitTxnsEnabled>, default = "skip")]
pub split_txns_enabled: Option<common_enums::SplitTxnsEnabled>,
}
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize, ToSchema)]

View File

@ -643,6 +643,10 @@ pub struct PaymentsIntentResponse {
#[schema(value_type = RequestIncrementalAuthorization)]
pub request_incremental_authorization: common_enums::RequestIncrementalAuthorization,
/// Enable split payments, i.e., split the amount between multiple payment methods
#[schema(value_type = SplitTxnsEnabled, default = "skip")]
pub split_txns_enabled: common_enums::SplitTxnsEnabled,
///Will be used to expire client secret after certain amount of time to be supplied in seconds
#[serde(with = "common_utils::custom_serde::iso8601")]
pub expires_on: PrimitiveDateTime,