feat(core): added force_3ds_challenge for decoupled txns (#7484)

Co-authored-by: hyperswitch-bot[bot] <148525504+hyperswitch-bot[bot]@users.noreply.github.com>
This commit is contained in:
Sahkal Poddar
2025-04-07 14:23:00 +05:30
committed by GitHub
parent 2fdeb8580b
commit c245ece19f
27 changed files with 190 additions and 5 deletions

View File

@ -112,7 +112,7 @@ pub struct MerchantAccountCreate {
pub pm_collect_link_config: Option<BusinessCollectLinkConfig>,
/// Product Type of this merchant account
#[schema(value_type = Option<MerchantProductType>)]
#[schema(value_type = Option<MerchantProductType>, example = "Orchestration")]
pub product_type: Option<api_enums::MerchantProductType>,
}
@ -563,7 +563,7 @@ pub struct MerchantAccountResponse {
pub pm_collect_link_config: Option<BusinessCollectLinkConfig>,
/// Product Type of this merchant account
#[schema(value_type = Option<MerchantProductType>)]
#[schema(value_type = Option<MerchantProductType>, example = "Orchestration")]
pub product_type: Option<api_enums::MerchantProductType>,
}
@ -599,7 +599,7 @@ pub struct MerchantAccountResponse {
pub recon_status: api_enums::ReconStatus,
/// Product Type of this merchant account
#[schema(value_type = Option<MerchantProductType>)]
#[schema(value_type = Option<MerchantProductType>, example = "Orchestration")]
pub product_type: Option<api_enums::MerchantProductType>,
}

View File

@ -263,6 +263,9 @@ pub struct PaymentsCreateIntentRequest {
#[schema(value_type = Option<External3dsAuthenticationRequest>)]
pub request_external_three_ds_authentication:
Option<common_enums::External3dsAuthenticationRequest>,
/// Indicates if 3ds challenge is forced
pub force_3ds_challenge: Option<bool>,
}
#[cfg(feature = "v2")]
@ -1149,6 +1152,9 @@ pub struct PaymentsRequest {
#[schema(value_type = Option<CtpServiceDetails>)]
pub ctp_service_details: Option<CtpServiceDetails>,
/// Indicates if 3ds challenge is forced
pub force_3ds_challenge: Option<bool>,
/// Indicates if 3DS method data was successfully completed or not
pub threeds_method_comp_ind: Option<ThreeDsCompletionIndicator>,
}
@ -5086,6 +5092,12 @@ pub struct PaymentsResponse {
#[schema(value_type = Option<CardDiscovery>, example = "manual")]
pub card_discovery: Option<enums::CardDiscovery>,
/// Indicates if 3ds challenge is forced
pub force_3ds_challenge: Option<bool>,
/// Indicates if 3ds challenge is triggered
pub force_3ds_challenge_trigger: Option<bool>,
/// Error code received from the issuer in case of failed payments
pub issuer_error_code: Option<String>,
@ -5430,6 +5442,9 @@ pub struct PaymentsRequest {
/// The payment_method_id to be associated with the payment
#[schema(value_type = Option<String>)]
pub payment_method_id: Option<id_type::GlobalPaymentMethodId>,
/// Indicates if 3ds challenge is forced
pub force_3ds_challenge: Option<bool>,
}
#[cfg(feature = "v2")]
@ -5463,6 +5478,7 @@ impl From<&PaymentsRequest> for PaymentsCreateIntentRequest {
request_external_three_ds_authentication: request
.request_external_three_ds_authentication
.clone(),
force_3ds_challenge: request.force_3ds_challenge,
}
}
}