3DS Response

The following covers the 3DS response fields and their values / meanings. There is also a translation of the TxShield response to 3DS1 naming conventions, as the TxShield response matches 3DS2 naming conventions.

Example Response

{
  threeDSIntegratorOid: 'string',
  threeDSRequestorOrderID: 'string',
  threeDSRequestorData: 'string',
  threeDSRequestorID: 'string',
  threeDSServerTransID: 'string',
  shieldReference: 'string',
  acsTransID: 'string',
  dsTransID: 'string',
  transStatus: 'string',
  transStatusReason: 'string',
  authenticationValue: 'string',
  authenticationAlgorithm: 'string',
  eci: 'string',
  version: 'string',
  errCode: 'string',
  errMsg: 'string'
}

transStatus

The values in the transStatus field along with the eci field indicated whether a liability shift has occurred. If the value is Y, U, A you can attempt the authorization (payment) transaction. If the value is N, C, R we recommend not attempting the authorization transaction, however it is at the merchants Discretion if they wish to proceed.

Only a status of Y guarantees a full liability shift.

A transStatus of C should only be returned by the 3DS SDK if challenges are turned off. This turns the 3DS SDK into a frictionless workflow. If you receive a transStatus of C the frictionless transaction has not authenticated. The ACS server (the card issuer) requested the Challenge work flow, and in a forced frictionless scenario this means the Authentication has failed. You should not proceed to payment. The 3DS SDK returns the transStatus of C so that the merchant can keep statistics and track how many potential authentications failed because the ACS requested a challenge, and you may want to use that to inform your decision to turn challenges on later, or keep them turned off.

transStatus valueDescriptionContinue to Payment
YAuthentication SuccessfulY
NNot Authenticated, Transaction deniedN
UAuthentication/ Account Verification Could Not Be PerformedY
ANot Authenticated, but a proof of attempted authentication is providedY
CChallenge Required; Additional authentication is required. Only returned if challenge disabled (frictionless)N
RAuthentication Rejected; Issuer is rejecting authenticatio and request that authorisation not be attempted.N

transStatusReason

The values in the transStatusReason field can be mapped to these reasons. The full text should already be in the msg field, in the response data so you don't need to map this yourself.

transStatusReason valueMeaning
01Card authentication failed
02Unknown Device
03Unsupported Device
04Exceeds authentication frequency limit
05Expired card
06Invalid card number
07Invalid transaction
08No Card record
09Security failure
10Stolen card
11Suspected fraud
12Transaction not permitted to cardholder
13Cardholder not enrolled in service
14Transaction timed out at the ACS
15Low confidence
16Medium confidence
17High confidence
18Very High confidence
19Exceeds ACS maximum challenges
20Non-Payment transaction not supported
213RI transaction not supported

TxShield (3DS2) fields to 3DS1 translation

TxShield Field (3DS2)3DS1 NameDescription
acsTransId-ACS servers reference
authenticationValuecavv
dsTransIdxidDirector servers reference
ecieciEcommer Indiciator
protocolVersion-
transStatustransStatus / statusDepends on the processor as to which they use.
authenticationAlgorithmauthenticationAlgorithmAlorithm Identifier. 3DS1 Only