diff --git a/api-reference-v2/openapi_spec.json b/api-reference-v2/openapi_spec.json index 4270edf6a4..77438d2d44 100644 --- a/api-reference-v2/openapi_spec.json +++ b/api-reference-v2/openapi_spec.json @@ -4440,6 +4440,11 @@ "three_ds_requestor_url": { "type": "string", "description": "URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process." + }, + "three_ds_requestor_app_url": { + "type": "string", + "description": "Merchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred.", + "nullable": true } } }, @@ -16587,6 +16592,11 @@ "three_ds_requestor_url": { "type": "string", "description": "Three DS Requestor URL" + }, + "three_ds_requestor_app_url": { + "type": "string", + "description": "Merchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred", + "nullable": true } } }, diff --git a/api-reference/openapi_spec.json b/api-reference/openapi_spec.json index c5d7ab9bdd..3d484a2243 100644 --- a/api-reference/openapi_spec.json +++ b/api-reference/openapi_spec.json @@ -6592,6 +6592,11 @@ "three_ds_requestor_url": { "type": "string", "description": "URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process." + }, + "three_ds_requestor_app_url": { + "type": "string", + "description": "Merchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred.", + "nullable": true } } }, @@ -19871,6 +19876,11 @@ "three_ds_requestor_url": { "type": "string", "description": "Three DS Requestor URL" + }, + "three_ds_requestor_app_url": { + "type": "string", + "description": "Merchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred", + "nullable": true } } }, diff --git a/crates/api_models/src/admin.rs b/crates/api_models/src/admin.rs index 5e52263ef3..d8e2646da4 100644 --- a/crates/api_models/src/admin.rs +++ b/crates/api_models/src/admin.rs @@ -278,6 +278,8 @@ pub struct AuthenticationConnectorDetails { pub authentication_connectors: Vec, /// URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process. pub three_ds_requestor_url: String, + /// Merchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred. + pub three_ds_requestor_app_url: Option, } #[derive(Clone, Debug, Deserialize, Serialize, ToSchema)] diff --git a/crates/api_models/src/payments.rs b/crates/api_models/src/payments.rs index fbc2cb7e05..c623add167 100644 --- a/crates/api_models/src/payments.rs +++ b/crates/api_models/src/payments.rs @@ -7506,6 +7506,8 @@ pub struct PaymentsExternalAuthenticationResponse { pub acs_signed_content: Option, /// Three DS Requestor URL pub three_ds_requestor_url: String, + /// Merchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred + pub three_ds_requestor_app_url: Option, } #[derive(Default, Debug, serde::Deserialize, serde::Serialize, Clone, ToSchema)] diff --git a/crates/diesel_models/src/business_profile.rs b/crates/diesel_models/src/business_profile.rs index 00f1d8ec13..a5beb6d4d7 100644 --- a/crates/diesel_models/src/business_profile.rs +++ b/crates/diesel_models/src/business_profile.rs @@ -591,6 +591,7 @@ impl ProfileUpdateInternal { pub struct AuthenticationConnectorDetails { pub authentication_connectors: Vec, pub three_ds_requestor_url: String, + pub three_ds_requestor_app_url: Option, } common_utils::impl_to_sql_from_sql_json!(AuthenticationConnectorDetails); diff --git a/crates/router/src/core/payments.rs b/crates/router/src/core/payments.rs index 1ca9793649..f36ce639af 100644 --- a/crates/router/src/core/payments.rs +++ b/crates/router/src/core/payments.rs @@ -7740,6 +7740,7 @@ pub async fn payment_external_authentication( three_dsserver_trans_id: authentication_response.three_dsserver_trans_id, acs_signed_content: authentication_response.acs_signed_content, three_ds_requestor_url: authentication_details.three_ds_requestor_url, + three_ds_requestor_app_url: authentication_details.three_ds_requestor_app_url, }, )) } diff --git a/crates/router/src/types/transformers.rs b/crates/router/src/types/transformers.rs index 9fe5789773..23c7f6ada9 100644 --- a/crates/router/src/types/transformers.rs +++ b/crates/router/src/types/transformers.rs @@ -2016,6 +2016,7 @@ impl ForeignFrom Self { authentication_connectors: item.authentication_connectors, three_ds_requestor_url: item.three_ds_requestor_url, + three_ds_requestor_app_url: item.three_ds_requestor_app_url, } } } @@ -2027,6 +2028,7 @@ impl ForeignFrom