3D Secure
What is 3D Secure?
3D Secure (3DS) is a messaging protocol that enables consumers authenticate with their card issuer when making Card Not Present transactions. The specification was developed by EMVCo and can be found here.
This platform supports 3D Secure 2 (2.1.0
, 2.2.0
). The issuer uses many parameters to verify card holder authenticity and also asses the risk level to authorize transactions.
It is highly recommended to avoid integrating 3D Secure V1 as major network deprecating the support for older versions as early as October 2022.
Integrating 3D Secure in your application.
The library must be loaded before 3D Secure can be used in your application. To enable library please refer to our guide <a href="
Step 1 - Initiate 3D Secure Flow
To use 3D Secure, your backend system must initiate the flow by setting attempt3DSecure
to true
while making the https://<Host>/api/payments/sale
API call. It is also required to provide browserInfo
parameter when using 3D secure.
You can collect browser info by using PayEngine.collectBrowserInfo()
API in your web application.
Step 2 - Handle 3D Secure Actions
If the response from https://<Host>/api/payments/sale
API call indicates that a 3D secure action is required that is ThreeDSActionRequired=true
then your backend should send information back to your front end so the 3DS actions can be performed.
On your front end you can easily manage the flow by initiating PayEngine.perform3DSFlow(...)
method.
Step 3 - Retrieve Completed Transaction
Once you receive confirmation that sale with 3D Secure has been completed, you can use server to server communication to retrieve the transaction detail.
To retrieve transaction detail, please use https://<Host>/api/merchant/:merchantId/3dstransaction/:transactionId
API from your server application using the private API key.
Example: Complete 3DS flow
1. Your client application attempts a secure sale through your backend system.
2. Your backend service initiates 3DS workflow by setting attempt3DSecure
to true
when making a sale call to the system (see /api/payments/sale).
3. Your client application checks for 3D secure action required and initiates action handling by calling PayEngine.perform3DSFlow(...)
4. Once 3DS transaction is completed successfully, your client application can call your backend system to request for transaction detail.
Last updated