feat(router): add adyen split payments support (#6952)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
AkshayaFoiger
2025-02-10 11:56:39 +05:30
committed by GitHub
parent 1c54211b2f
commit 323d763087
119 changed files with 1406 additions and 685 deletions

View File

@ -4734,7 +4734,8 @@ pub struct PaymentsResponse {
pub updated: Option<PrimitiveDateTime>,
/// Fee information to be charged on the payment being collected
pub split_payments: Option<SplitPaymentsResponse>,
#[schema(value_type = Option<ConnectorChargeResponseData>)]
pub split_payments: Option<common_types::payments::ConnectorChargeResponseData>,
/// You can specify up to 50 keys, with key names up to 40 characters long and values up to 500 characters long. FRM Metadata is useful for storing additional, structured information on an object related to FRM.
#[schema(value_type = Option<Object>, example = r#"{ "fulfillment_method" : "deliver", "coverage_request" : "fraud" }"#)]
@ -5276,31 +5277,6 @@ pub struct PaymentStartRedirectionParams {
pub profile_id: id_type::ProfileId,
}
/// Fee information to be charged on the payment being collected
#[derive(Setter, Clone, Debug, PartialEq, serde::Serialize, ToSchema)]
pub struct StripeSplitPaymentsResponse {
/// Identifier for charge created for the payment
pub charge_id: Option<String>,
/// Type of charge (connector specific)
#[schema(value_type = PaymentChargeType, example = "direct")]
pub charge_type: api_enums::PaymentChargeType,
/// Platform fees collected on the payment
#[schema(value_type = i64, example = 6540)]
pub application_fees: MinorUnit,
/// Identifier for the reseller's account where the funds were transferred
pub transfer_account_id: String,
}
#[derive(Clone, Debug, PartialEq, serde::Serialize, ToSchema)]
#[serde(rename_all = "snake_case")]
pub enum SplitPaymentsResponse {
/// StripeSplitPaymentsResponse
StripeSplitPayment(StripeSplitPaymentsResponse),
}
/// Details of external authentication
#[derive(Setter, Clone, Default, Debug, PartialEq, serde::Serialize, ToSchema)]
pub struct ExternalAuthenticationDetailsResponse {