3D Secure

Overview

3D Secure (3DS) is an authentication protocol designed to add an extra layer of security for online credit and debit card transactions. It aims to reduce the risk of unauthorized card usage and mitigate fraud by requiring additional authentication steps from the cardholder.

The threeDS object

The threeDS object encapsulates various parameters related to the 3DS authentication process. It provides detailed information about the authentication status, transaction identifiers, and relevant parameters. You can expect to receive the threeDS object in the Notifications under paymentComposition. Below is a breakdown of the key components within the threeDS object:

"threeDS": {
  "authenticationValue": "AAABAVIREQAAAAAAAAAAAAAAAAA=",
  "challenged": true,
  "dsTransId": "5ed5d1d0-982f-45f4-97a1-68651ac429d0",
  "eci": "05",
  "enrolled": "Y",
  "exemptionApplied": "none",
  "exemptionIndicator": "none",
  "transStatus": "Y",
  "version": "2.2.0"
}

πŸ“˜

The structure of the object is based in the EMV 3DS 2.3.1.1 specification (PDF). However, depending on the availability of those fields in the response from your payment provider, we may not have all of them for all cases. Please contact our team to make sure you will get all the information you need for your processing.

Parameters

FieldDescription
authenticationValueThe cryptographic value generated during the 3DS authentication process to verify the transaction's authenticity.
challengedA boolean value indicating whether the transaction was challenged during the 3DS authentication process.
dsTransIdThe unique transaction identifier generated by the 3DS system for tracking purposes.
eciElectronic Commerce Indicator (ECI) code indicating the outcome of the 3DS authentication process. Possible values here.
enrolledIndicates whether the cardholder's card is enrolled in the 3DS program.
exemptionAppliedSpecifies if any exemptions were applied during the 3DS authentication process.
exemptionIndicatorAdditional information about the type of exemption applied, if any.
transStatusIndicates the outcome of the 3DS authentication process for the transaction. Possible values here.
versionSpecifies the version of the 3DS protocol used for authentication.

eci values

According to the 3DS specification, the following are the possible values for the eci field.

ValueDescriptionSource
00Authentication FailedMastercard
01Authentication attempted, but not completedMastercard
02Authentication SuccessfulMastercard
05Authentication SuccessfulVisa, American Express, Discover, JCB, UnionPay
06Authentication attempted, but not completedVisa, American Express, Discover, JCB, UnionPay
07Authentication FailedVisa, American Express, Discover, JCB, UnionPay

transStatus values

According to the 3DS specification, the following are the possible values for the transStatus field.

ValueDescriptionNext Action
YAuthentication SuccessfulThe transaction achieved a Frictionless authentication. Continue to authorization using the authenticationValue from the Authenticate Response.
AAuthentication AttemptedThe cardholder was not authenticated, but proof of the authentication being attempted has been provided. Continue to authorization using the authenticationValue from the Authenticate Response.
NAuthentication FailedAuthentication has failed. Only proceed to authorization if authentication is not required, and this is within your risk appetite.
UAuthentication UnavailableAuthentication is unavailable. Only proceed to authorization if authentication is not required, and this is within your risk appetite.
RAuthentication RejectedAuthentication was rejected. Only proceed to authorization if authentication is not required, and this is within your risk appetite.
CChallenge RequiredA challenge is required, make a Challenge Request.
IInformationAuthentication for the transaction was not requested. The data was sent to the ACS for informational purposes only.
DDecoupled Challenge RequiredA challenge will be performed by the issuer without using a 3DS Challenge Request. Make a Result Request to learn the final outcome. You may need to wait the length of time set in the threeDSRequestorDecMaxTime Authenticate Request field.