Authenticate (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 name | Type | Description |
|---|---|---|
| threeDsServerTransId | String | Generated by 3DS provider. This value is in lookup response and callback. |
| externalReferenceId | String | Unique authentication Id which is generated by 3DS Requestor. Conditional only if available |
Response
Sample API URL (UAT):
POST Method: https://demo-emv3dss.2c2p.com/enquiry/
1) Enquiry Request Fields format and description
Header
| Field Name | Data Type | Example | Description | Requirement |
|---|---|---|---|---|
| Authorization | String | Bearer xxxx | Required | |
| Content-Type | String | application/json | Required |
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 |
| acsTransactionId | Unique transaction identifier assigned by the ACS to identify a single transaction. | Required | ||
| authenticationValue | String 28 characters | "xgSUOhRfAAA AAAAAAAAAAA AAAAAA" | CAVV | Required |
| transactionStatus | String 1 character | “Y” | Transactions status result identifier. | Required |
| eci | String 2 characters | "05" | Electronic Commerce Indicator (ECI). | Required |
| version | String | This field contains the 3DS version that was used to process the transaction. | Required | |
| cardScheme | String | Card brand that the transaction was processed for authentication. | Required | |
| cardBin | String 11 | Card bin represents the first six to eleven numbers of the CardNumber field passed in on the authentication request. | Required | |
| dsTransactionId | String | Unique transaction identifier assigned by the Directory Server (DS) to identify a single transaction. | Required | |
| threeDSServerTransactionId | String | Unique transaction identifier assigned by the 3DS Server to identify a single transaction. | Required | |
| challengeCancel | String | An indicator as to why the transaction was canceled. | Conditional | |
| statusReason | String | Provides additional information as to why the PAResStatus has a specific value. | Required | |
| whiteListStatus | String | Enables the communication of trusted beneficiary/trustlist status between the ACS, the DS and the 3DS Requestor. | Optional | |
| whiteListStatusSource | String | This data element will be populated by the system setting WhitelistStatus. | Required if WhitelistStatus is present. | |
| authenticationType | String | Indicates the type of authentication that will be used to challenge the card holder. | Conditional |
Enquiry Response
Success Response example:
{
"dsTransId": "9999999-bcb1-b08d1690b26e",
"threeDsServerTransId": "8a880dc0-d2d2-4067-bcb1-b08d1690b26e",
"authenticationValue": "xgSUOhRfAAAAAAAAAAAAAAAAAAAA",
"eci": "05",
"transactionStatus": "Y",
"cardScheme" : " ",
"cardBin" : " ",
"externalReferenceId" : " ",
"reasonCode" : " ",
"reasonDesc" : " ",
"statusReason" : " ",
"acsReferenceNumber" : " ",
"acsOperatorId" : " ",
"whiteListStatusSource" : " ",
"whiteListStatus" : " ",
"acsTransactionId" : " ",
"version" : " ",
"challengeCancel" : " ",
"authenticationType " : " "
}
Error Response
| Field Name | Data Type | Format | Example | Description |
|---|---|---|---|---|
| status | String | 1 char | "U" - authentication failed | status of authentication |
| error | String | 255 varchar | "2.0 is not supported for this card" | Error Description |
| errorCode | String | 4 chars | "A002" | Error code |
| emvErrorCode | String | 3 characters | Code indicating the type of problem identified in the message. | Required in Message Error |
| emvErrorComponent | String | 1 character | Code indicating the 3-D Secure component that identified the error. | Required in Message Error |
| emvErrorDescription | String | 2048 characters | Text describing the problem identified in the message. | Required in Message Error |
| emvErrorDetail | String | 2048 characters | Additional 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"
}
}
Updated 6 months ago
