Authentication Enquiry

This API is used to get authentication result in case challenge.

Note:
• Please refer to the step number 27 in the above diagram.

Request

Field nameTypeDescription
threeDsServerTransIdStringGenerated by 3DS provider. This value is in lookup response and callback.
externalReferenceIdStringUnique authentication Id which is generated by 3DS Requestor. Conditional only if available

Response

Sample API (UAT):

POST Method

1) Enquiry Request Fields format and description

Header

Field NameData TypeExampleDescriptionRequirement
AuthorizationStringBearer xxxxRequired
Content-TypeStringapplication/jsonRequired

Body

Field Name Data Type Example Description Requirement

externalReferenceId

String

Unique authentication Id which is generated by 3DS Requestor

threeDsServerTransId

String
36 characters

"8a880dc0-d2d2-4067-bcb1-b08d1690b26e"

3DS Server transaction ID or transactionID Generated by 3DS provider. This value is in lookup response and callback.

If both parameter passed, we take threeDsServerTransId as a higher priority.

Full Request example:

Request Header:

POST /enquiry
Content-Type: application/json
Authorization: Bearer xxx

Request Body:

{
  "threeDsServerTransId": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e"
}

Or 

{
  "externalReferenceId": "795baa56-204d-42bd-a9c8-4cf0b7a567bd”
}

2) Enquiry Response Filed format and description

Field Name Data Type Example Description Requirement

threeDsServerTransId

String

36 characters

"8a880dc0-d2d2-
4067-bcb1-b08d1690b26e"

Unique transaction identifier assigned by the 3DS Server to identify a single transaction.

Required

dsTransId

String

36 characters

"8a890900-
d2d2-4067-bcb1-
b08d1690b26e"

Unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction.

NOTE: Required for Mastercard Identity Check transaction in Authorization

Required

authenticationValue

String

28 characters

"xgSUOhRfAAA
AAAAAAAAAAA
AAAAAA"

CAVV

Required

transactionStatus

String

1 character

“Y”

Transactions status result identifier.

Possible Values:

Y - Successful Authentication

N - Failed Authentication / Account Not Verified / Transaction Denied

U - Unable to Complete Authentication

A - Successful Attempts Transaction

C** - Challenge Required for Authentication

R** - Authentication Rejected (Merchant must not submit for authorization)
Statuses of C and R only apply to Consumer authentication 2.0.
Decoupled authentication is not supported at this time.

D - Challenge Required; Decoupled Authentication confirmed.

I - Informational Only; 3DS Requestor challenge preference acknowledged.

NOTE: Statuses of C and R only apply to Consumer authentication 2.0.
Decoupled authentication is not supported at this time.

Required

eci

String

2 characters

"05"

Electronic Commerce Indicator (ECI).
The ECI value is part of the 2 data elements that indicate the transaction was processed electronically.
This should be passed on the authorization transaction to the Gateway/Processor.

Possible Values:
02 or 05 - Fully Authenticated Transaction
01 or 06 - Attempted Authentication Transaction
00 or 07 - Non 3-D Secure Transaction

Mastercard - 02, 01, 00
VISA - 05, 06, 07
AMEX - 05, 06, 07
JCB - 05, 06, 07
DINERS CLUB - 05, 06, 07
Mastercard - 02, 01, 00
Union Pay International: 05, 06, 07

Required

Enquiry Response

Success Response example:

{
"dsTransId": "9999999-bcb1-b08d1690b26e",
"threeDsServerTransId": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e",
"authenticationValue": "xgSUOhRfAAAAAAAAAAAAAAAAAAAA",
"eci": "05",
"transactionStatus": "Y"
}

Error Response

Field NameData TypeFormatExampleDescription
statusString1 char"U" - authentication failedstatus of authentication
errorString255 varchar"2.0 is not supported for this card"Error Description
errorCodeString4 chars"A002"Error code
emvErrorCodeString3 charactersCode indicating the type of problem identified in the message.Required in Message Error
emvErrorComponentString1 characterCode indicating the 3-D Secure component that identified the error.Required in Message Error
emvErrorDescriptionString2048 charactersText describing the problem identified in the message.Required in Message Error
emvErrorDetailString2048 charactersAdditional detail regarding the problem identified in the message.Required in Message Error

Error Response example:

{
  "status": "string",
  "error": "string",
  "errorCode": "string",
  "emvError": {
         "emvErrorCode": "string",
         "emvErrorComponent": "string",
         "emvErrorDescription": "string",
         "emvErrorDetail": "string"
  }
}