Payments - External 3DS Authentication
POST /payments/{payment_id}/3ds/authentication
Request example (cURL):
curl --request POST \
--url https://sandbox.hyperswitch.io/payments/{payment_id}/3ds/authentication \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '
{
"client_secret": "<string>",
"device_channel": "APP",
"threeds_method_comp_ind": "Y",
"sdk_information": {
"sdk_app_id": "<string>",
"sdk_enc_data": "<string>",
"sdk_ephem_pub_key": {},
"sdk_trans_id": "<string>",
"sdk_reference_number": "<string>",
"sdk_max_timeout": 1,
"sdk_type": "01",
"device_details": {
"device_type": "<string>",
"device_brand": "<string>",
"device_os": "<string>",
"device_display": "<string>"
}
}
}
'Responses (example body):
Status codes: 200, 400
Authorizations
api-key (string) — header — required Publishable keys are a type of keys that can be public and have limited scope of usage.
Path Parameters
payment_id (string) — required The identifier for payment
Body (application/json)
client_secret (string) — required Client Secret
device_channel (enum) — required Device Channel indicating whether request is coming from App or Browser. Available options:
APP,BRWthreeds_method_comp_ind (enum) — required Indicates if 3DS method data was successfully completed or not. Available options:
Y,N,Usdk_information (object) SDK Information if request is from SDK
Showchild attributes (as present in the example):
sdk_app_id (string)
sdk_enc_data (string)
sdk_ephem_pub_key (object)
sdk_trans_id (string)
sdk_reference_number (string)
sdk_max_timeout (integer)
sdk_type (string)
device_details (object)
device_type (string)
device_brand (string)
device_os (string)
device_display (string)
Response (200, application/json) — Authentication created
trans_status (enum) — required Indicates the transaction status. Available options:
Y,N,U,A,R,C,D,Ithree_ds_requestor_url (string) — required Three DS Requestor URL
acs_url (string | null) Access Server URL to be used for challenge submission
challenge_request (string | null) Challenge request which should be sent to acs_url
challenge_request_key (string | null) Challenge request key which should be set as form field name for creq
acs_reference_number (string | null) Unique identifier assigned by the EMVCo (Europay, Mastercard and Visa)
acs_trans_id (string | null) Unique identifier assigned by the ACS to identify a single transaction
three_dsserver_trans_id (string | null) Unique identifier assigned by the 3DS Server to identify a single transaction
acs_signed_content (string | null) Contains the JWS object created by the ACS for the ARes (Authentication Response) message
three_ds_requestor_app_url (string | null) Merchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after OOB authentication has occurred
error_message (string | null) Error message if any
Suggest edits: https://github.com/juspay/hyperswitch/edit/main/api-reference/v1/payments/payments--external-3ds-authentication.mdx
Raise issue: https://github.com/juspay/hyperswitch/issues/new?title=Issue%20on%20docs&body=Path:%20/v1/payments/payments--external-3ds-authentication
Related:
https://api-reference.hyperswitch.io/introduction
https://api-reference.hyperswitch.io/locker-api-reference/overview
https://api-reference.hyperswitch.io/intelligent-router-api-reference/overview