Auth Request (Lookup)
To trigger 3DS authentication request. This API will return challenge or frictionless result.
Note:
• Please refer to the step number 5 in the above diagram.
• Please refer to the Appendix B for the 3DSS API authentication.
Request
Required data in this request:
Browser Request Fields format and description
Header
Field Name | Data type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
Authorization | String | Bearer xxxx | Required | ||
Content-Type | String | application/json | Required |
Body
Field Name | Data type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
externalReferenceId | String | 50 digits | Unique Id for this authentication transaction (MerchantReferenceNumber) | Required | |
ddcId | String | 50 digits | Same value in DDC request | Required | |
threeDsRequestorAuthInd | String | 2 digits | PaymentTransaction = "01" RecurringTransaction = "02" InstalmentTransaction = "03" AddCard = "04" MaintainCard = "05" CardholderVerification = "06" | Indicates the type of Authentication request | Required |
session | String | 1024 chars | 3DS Requestor session data that is returned by the ACS in the final CRes | Optional | |
browserInfo | Object | table "Browser" | See Browser Fields format and description | Information about cardholder browser | Required |
notificationUrl | String | Uri | Url where will send final CRes at end of challenge. If null, 3DS Server will receive final CRes | Optional | |
challengeWindowSize | Int | 1 digit | 250 X 400 =1, 390 X 400 =2, 500 X 600 =3, 600 X 400 = 4, Full Screen = 5 | Dimensions of the challenge window that has been displayed to the Cardholder, in pixels | Optional Default = 3 |
acquirerCode | String | max 15 chars | BANK CODE | Code of Acquirer - Provided by 2c2p for each partner/merchant/acquirer. For 3DS Requestor this is always will be “3DS Requestor” | Required |
acquirerBIN | Override the acquiring institution identification code (the Acquirer BIN) that is currently configured in the 2C2P profile. | Required | |||
merchantCode | String | max 35 chars | Override the Acquirer Merchant identifier configured in the Merchant's profile. Same as the merchantId. | Required | |
deviceChannel | Int | 1 digit | 2 | Device Channel, valid value follows: 1- App (App-based) 2 - BRW (Browser-based) 3 - 3RI | Required |
messageCategory | String | 2 digits | "01" | "01" - Payment "02" - Non payment | Required |
threeDsRequestorChallengeInd | Int | 1 digit | NoPreference = 1, NoChallengeRequested = 2, ChallengeRequested = 3, ChallengeRequired = 4 | Indicates whether a challenge is requested for this transaction Default = 1 | Optional |
messageVersion | String | 8 digits | Values active: 2.0.0 Deprecated 2.1.0 Active 2.2.0 Active 2.3.0 Pending | Protocol version identifier This shall be the Protocol Version Number of the specification utilized by the system creating this message. | Optional |
requestFeatures | integer | Values accepted: 0 to 99 | Indicates whether the 3DS Requestor requests the ACS to utilize Visa DAF, Decoupled Authentication, Merchants WhiteList. (for 2.2.0 protocol) "0" - No Features - Enable only this feature - 0(0000), "1" - DAF Feature - Enable only this feature - 1(0001), "2" - Merchant WhiteList - Enable only this feature - 2(0010), "3" - Decouple Authentication - Enable only this feature - 4(0100) | Optional | |
threeDSRequestorDecMaxTime | integer | 5 digits | Values accepted: 1-10080 (default=15) | Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS to provide the results of a Decoupled Authentication transaction (in minutes). | Optional |
card | Object | table "Card" | See Card Fields format and description | Required | |
merchantName | String | maximum 50 chars | “MERCHANT COMP1” | This is 3DS Requestor merchant name which will be displayed on OTP Challenge page to customer | Optional |
purchase | Object | table "Purchase" | See Purchase Fields format and description | Purchase information. Can't use for 3RI | Required if messageCategory is "01" |
recurring | Object | table "Recurring" | See Recurring Fields format and description | Recurring information. Can't use for 3RI | Optional |
instalmentData | Int | Indicates the maximum number of authorizations permitted for instalment payments. Can't use for 3RI | Required, if "threeDsRequestorAuthInd " is "03" | ||
requestor | Object | table "Requestor" | See Requestor Fields format and description | Information about initiator of 3DS flow | Optional. If null - 3DS Server becomes Requestor. |
billingAddress | Object | table "Address" | See Address Fields format and description | Information about billing address of cardholder | Optional. Some ACS may require it. |
shippingAddress | Object | table "Address" | See Address Fields format and description | Information about shipping address of cardholder | Optional. Some ACS may require it. |
String | maximum 254 characters | [email protected] | Cardholder email | Optional. Some ACS may require it. | |
homePhone | Object | table "Phone" | See Phone Fields format and description | Cardholder home phone number | Optional. Some ACS may require it. |
mobilePhone | Object | table "Phone" | See Phone Fields format and description | Cardholder mobile phone number | Optional. Some ACS may require it. |
workPhone | Object | table "Phone" | See Phone Fields format and description | Cardholder work phone number | Optional. Some ACS may require it. |
accountInfo | Object | table "AccountInfo" | See AccountInfo Fields format and description | Information about the Cardholder’s account provided by the 3DS Requestor | Optional |
additionalAccountInfo | Object | table "AdditionalInfo" | See AdditionalInfo Fields format and description | Additional information about the Cardholder’s account provided by the 3DS Requestor | Optional |
merchantRiskInfo | Object | table "MerchantRiskIndicator" | See MerchantRiskIndicator Fields format and description | Merchant’s assessment of the level of fraud risk for the specific authentication | Optional |
Browser Fields format and description
Field Name | Data Type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
acceptHeader | String | max 2048 chars | "image/webp,image/apng,image/,/*;q=0.8" | Exact content of the HTTP accepts headers as sent to the 3DS Requestor from the Cardholder’s | Required |
ip | String | max 45 chars | "192.168.123.123" "2001:0db8:85a3:0000:0000:8a2e:0370:7334" | IP address of the cardholder browser. | Optional |
javascriptEnabled | Bool | true/false | true | Value is returned from the navigator.javascriptEnabled property | Required |
javaEnabled | Bool | true/false | true | Value is returned from the navigator.javaEnabled property | Required |
language | String | 1-8 chars | "en-GB" | Value is returned from the navigator.language property | Required |
colorDepth | String | 1-2 chars | "24" | Value is returned from the screen.colorDepth property | Required |
screenHeight | String | 1-6 chars | "782" | Value is returned from the screen.height property | Required |
screenWidth | String | 1-6 chars | "1452" | Value is returned from the screen.width property | Required |
timeZone | String | 1-5 chars | "-420" | Value is returned from the "new Date().getTimezoneOffset()" method | Required |
userAgent | String | max 2048 chars | "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Mobile Safari/537.36" | Exact content of the HTTP user-agent header | Required |
Card Fields format and description
Field Name | Data Type | Format | Description | Requirement |
---|---|---|---|---|
expiryDate | string | YYMM | Expiry Date of the PAN or token supplied to the 3DS Requestor by the Cardholder | Optional |
cardNumber | string | 13–19 chars | Account number that will be used in the authorization request for payment transactions. May be represented by PAN, token | Required |
cardholderName | string | 2-45 chars | Name of the Cardholder Alphanumeric special characters(English language and special characters only), listed in EMV Book 4, “Appendix B”. | Optional |
Requestor Fields format and description
Field Name | Data Type | Format | Description | Requirement |
---|---|---|---|---|
id | string | max 35 chars | DS assigned 3DS Requestor identifierRequestor identifier | Required |
name | string | max 40 chars | DS assigned 3DS Requestor Name | Required |
url | string | max 2048 chars | Fully qualified URL of 3DS Requestor website or customer care site | Required |
cardholderAccountId | string | max 64 chars | Additional account id of cardholder in requestor environment | Optional |
Address Fields format and description
Field Name | Data Type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
countryCode | string | ISO 3166-13 chars | "THA" | numeric three letter country code | Required |
city | string | max 50 chars | "Bangkok" | name of city | Optional |
postCode | string | max 16 chars | "10310" | ZIP or other postal code | Optional |
line1 | string | max 50 chars | "Ratchadapisek" | street address of cardholder | Optional |
line2 | string | max 50 chars | "12/124 New Condo" | street address of cardholder | Optional |
line3 | string | max 50 chars | street address of cardholder | Optional | |
state | string | ISO 3166-2 max 3 chars | "10" | The state or province of cardholder | Optional |
Purchase Fields format and description
Field Name | Data Type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
date | string | yyyy-MM-dd HH:mm:ss | "2020-06-08 22:11:44" | UTC datetime of purchase | Required |
instalData | int | Example values accepted: • 2 • 02 • 002 | Maximum 3 characters Values accepted: Value shall be greater than 1 | Indicates the maximum number of authorisations permitted for instalment payments. | Optional - Essential if 3DS Requestor Authentication Indicator = 03. Omitted if not an instalment payment authentication |
amount | decimal | decimal value | 120.10 | amount of purchase | Required |
currencyCode | string | 3 digit ISO 4217 | "THB" | currency code | Required |
Recurring Fields format and description
Field Name | Data Type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
expiry | string | YYYYMMDD | “20210501” | Date after which no further authorizations shall be performed | Required, if "threeDsRequestorAuthInd" is "02" or "03" |
frequency | int | 1 - 9999 | 10 | Indicates the minimum number of days between authorizations | Required, if "threeDsRequestorAuthInd" is "02" or "03" |
Phone Fields format and description
Field Name | Data Type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
countryCode | String | 1–3 chars | "1" | country code of phone number | Required |
subscriber | String | max 15 chars | "1234567899" | phone number | Required |
AccountInfo Fields format and description
Field Name | Data Type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
chAccAgeInd | String | 2 digit string | NoAccount = "01", CreatedDuringThisTransaction = "02", LessThan30Days = "03", From30To60Days = "04", MoreThan60Days = "05" | Length of time that the cardholder has had the account with the 3DS Requestor | Optional |
chAccChange | String | "yyyyMMdd" | 20201224 | Date that the cardholder’s account with the 3DS Requestor was last changed | Optional |
chAccChangeInd | String | 2 digit string | DuringThisTransaction = "01", LessThan30Days = "02", From30To60Days = "03", MoreThan60Days = "04" | Length of time since the cardholder’s account information with the 3DS Requestor was last changed | Optional |
chAccDate | String | "yyyyMMdd" | "20201224" | Date that the cardholder opened the account with the 3DS Requestor | Optional |
chAccPwChange | String | "yyyyMMdd" | "20201224" | Date that cardholder’s account with the 3DS Requestor had a password change or account reset | Optional |
chAccPwChangeInd | String | 2 digit string | NoChange = "01", ChangedDuringThisTransaction ="02", LessThan30Days = "03", From30To60Days = "04", MoreThan60Days = "05" | Indicates the length of time since the cardholder’s account with the 3DS Requestor had a password change | Optional |
nbPurchaseAccount | String | max 4 chars | "1234" | Number of purchases with this cardholder account during the previous six months | Optional |
provisionAttemptsDay | String | max 3 chars | "123" | Number of Add Card attempts in the last 24 hours | Optional |
txnActivityDay | String | max 3 chars | "123" | Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous 24 hours | Optional |
txnActivityYear | String | max 3 chars | "123" | Number of transactions (successful and abandoned) for this cardholder account with the 3DS Requestor across all payment accounts in the previous year | Optional |
paymentAccAge | String | yyyyMMdd | "20201224" | Date that the payment account was enrolled in the cardholder’s account with the 3DS Requestor | Optional |
paymentAccInd | String | 2 digit string | NoAccount = "01", CreatedDuringThisTransaction = "02", LessThan30Days = "03", From30To60Days = "04", MoreThan60Days = "05" | Indicates the length of time that the payment account was enrolled in the cardholder’s account with the 3DS Requestor | Optional |
shipAddressUsage | String | yyyyMMdd | "20201224" | Date when the shipping address used for this transaction was first used with the 3DS Requestor | Optional |
shipAddressUsageInd | String | 2 digit string | DuringThisTransaction = "01", LessThan30Days = "02", From30To60Days = "03", MoreThan60Days = "04" | Indicates when the shipping address used for this transaction was first used with the 3DS Requestor | Optional |
shipNameIndicator | String | 2 digit string | AccountNameIdenticalToShippingName = "01", AccountNameDifferentToShippingName = "02" | Indicates if the Cardholder Name on the account is identical to the shipping Name used for this transaction | Optional |
suspiciousAccActivity | String | 2 digit string | NoSuspiciousActivityObserved = "01", SuspiciousActivityHasBeenObserved = "02" | Indicates whether the 3DS Requestor has experienced suspicious activity (including previous fraud) on the cardholder account | Optional |
AdditionalInfo Fields format and description
Field Name | Data Type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
accountType | Number | 1 digit | NotApplicable = 1, Credit = 2, Debit = 3 | Indicates the type of account. For example, for a multi-account card product | Optional |
authenticationMethod | int | 1 digit | NoAuth = 1, LoginUsingOwnCredentials = 2, LoginUsingFederatedId = 3, LoginUsingIssuerCredentials = 4, LoginUsingThirdParty = 5, LoginUsingFido = 6 | Mechanism used by the Cardholder to authenticate to the 3DS Requestor | Optional |
authenticationTimeStamp | String | yyyyMMddHHmmss | "20200608221144" | Date and time in UTC of the cardholder authentication | Optional |
MerchantRiskIndicator Fields format and description
Field Name | Data Type | Format | Example | Description | Requirement |
---|---|---|---|---|---|
deliveryEmailAddress | String | "[email protected]" | For Electronic delivery, the email address to which the merchandise was delivered | Optional | |
deliveryTimeframe | String | 2 digit | ElectronicDelivery = "01", SameDayShipping = "02", OvernightShipping = "03", TwoDayOrMoreShipping = "04" | Indicates the merchandise delivery timeframe | Optional |
giftCardAmount | String | max 15 chars | "1234" | For prepaid or gift card purchase, the purchase amount total of prepaid or gift card(s) in major units. (for example, USD 123.45 is 123) | Optional |
giftCardCount | String | 2 chars | "12" | For prepaid or gift card purchase, total count of individual prepaid or gift cards/codes purchased | Optional |
giftCardCurr | String | 3 chars | "840" | For prepaid or gift card purchase, the currency code of the card as defined in ISO 4217. | Optional |
preOrderDate | String | "yyyyMMdd" | "20201224" | For a pre-ordered purchase, the expected date that the merchandise will be available | Optional |
preOrderPurchaseInd | String | 2 digit | MerchandiseAvailable = "01", FutureAvailability = "02" | Indicates whether Cardholder is placing an order for merchandise with a future availability or release | Optional |
reorderItemsInd | String | 2 digit | FirstTimeOrdered = "01", Reordered = "02" | Indicates whether the cardholder is reordering previously purchased merchandise | Optional |
shipIndicator | String | 2 digit | ToCardholderBillingAddress = "01", ToAnotherVerifiedAddressOnFileWithMerchant = "02", ToAddressThatDifferentThanBillingAddress = "03", ShipToStore = "04", DigitalGoods = "05", TravelAndEventTickets = "06", Other = "07" | Indicates shipping method chosen for the transaction | Optional |
Full Request example
Request Header
POST /authentication/brw
Content-Type: application/json
Authorization: Bearer xxx
Request Body
BrowserThreeDomainMessage
{
"externalReferenceId" : "9555559a72ad4-cae1-4da7-d96d3deaf",
"ddcId" : "333399a72ad4-cae1-879c-258d96d3deaf",
"acquirerCode": "3DS Requestor",
"acquirerBin": "4444411",
"session": "99a72ad4-cae1-4da7-879c-258d96d3deaf",
"threeDsRequestorAuthInd": "01",
"notificationUrl": "https://demo3ds2.2c2p.com/3ds_tester/api/notify-cres",
"threeDsRequestorChallengeInd": 1,
"messageVersion":"2.1.0",
"requestFeatures": 0,
"browserInfo": {
"acceptHeader": "gzip, deflate, br;en-US,en;q=0.9",
"ip": "49.49.248.202",
"javascriptEnabled": true,
"javaEnabled": false,
"language": "en-US",
"colorDepth": "24",
"screenHeight": "720",
"screenWidth": "1280",
"timeZone": -420,
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"
},
"deviceChannel": 2,
"messageCategory": "01",
"merchantCode": "EBAY",
"merchantName": "EBAY Company 1",
"requestor": {
"id": "az0123456789",
"name": "2C2P Pte Ltd",
"url": "https://www.2c2p.com",
"cardholderAccountId": "04"
},
"billingAddress": {
"countryCode": "785",
"city": "43",
"postCode": "123321",
"line1": "3",
"line2": "4",
"line3": "4",
"state": "esf"
},
"shippingAddress": {
"countryCode": "785",
"city": "43",
"postCode": "123321",
"line1": "3",
"line2": "4",
"line3": "4",
"state": "esf"
},
"purchase": {
"date": "2021-08-07 10:29:19 ",
"amount": 100,
"currencyCode": "THB"
},
"card": {
"expiryDate": "2106",
"cardNumber": "4646470000000064",
"cardholderName": "Visa4646"
},
"email": "string",
"homePhone": {
"countryCode": "123",
"subscriber": "123456789"
},
"mobilePhone": {
"countryCode": "123",
"subscriber": "123456789"
},
"workPhone": {
"countryCode": "123",
"subscriber": "123456789"
},
"accountInfo": {
"accountAgeIndicator": "05",
"accountChangeDate": "20210809",
"accountChangeDateIndicator": "04",
"accountDate": "20210809",
"accountPasswordChangeDate": "20210809",
"accountPasswordChangeDateIndicator": "05",
"accountPurchaseNumber": "1",
"provisionAttemptsDay": "1",
"txnActivityDay": "1",
"txnActivityYear": "1",
"paymentAccountAge": "20210809",
"paymentAccountAgeIndicator": "string",
"shippingAddressUsageDate": "20210809",
"shippingAddressUsageDateIndicator": "04",
"shipNameIndicator": "01",
"suspiciousAccountActivity": "01"
},
"additionalAccountInfo": {
"accountType": "00",
"authenticationMethod": "04",
"authenticationTimeStamp": "202108090235"
},
"merchantRiskInfo": {
"deliveryEmailAddress": "[email protected]",
"deliveryTimeframe": "02",
"giftCardAmount": "1",
"giftCardCount": "01",
"giftCardCurr": "840",
"preOrderDate": "20210809",
"preOrderPurchaseInd": "02",
"reorderItemsInd": "01",
"shipIndicator": "01"
}
}
Response
Field Name | Data Type | Required | Format | Example | Description |
---|---|---|---|---|---|
challengeHtml | String | HTML | Please click here to continue | HTML with form, which contains Base64Url encoded initial CReq. This is optional for 3DS Requestor. 3DS Requestor will use only the hostedChallengeUrl field. | |
version | String | 10 chars | This field contains the 3DS version that was used to process the transaction. Possible Values: 1.0.2 2.1.0 2.2.0 Note: Required for Mastercard Identity Check transactions in Authorization | Message Protocol version | |
hostedChallengeUrl | String | Y | The fully qualified URL that the client uses to post the cardholder in order to complete the Consumer Authentication transaction for 2c2p 3dss challenge page API integration. Note: This is only for a 2c2p challenge page Integration 3DS Requestor called this one as “stepUpUrl” | ||
dsTransId | String | UUID 36 characters | "91147cb8-d836-44e0-a1cc-b8e25040297f", | DS transaction id | |
acsTransId | String | Y | UUID 36 characters | "f38f4639-b820-4dbb-91af-6643f997bd69", | ACS transaction id |
threeDsServerTransId | String | Y | UUID 36 characters | "3dc1a061-ca59-4c87-b104-3d2bd04ed3e5" | 3DS Server transaction id |
status | String | Y | 1 char | 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) 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. | Status of the authentication. If the status is “C”, 3DS Requestor should redirect to the hosted challenge URL. |
authenticationValue | String | 28 chars | "xgTukdwAAAAAAAAAAAAAAAAAAAA=" | Proof of authentication - Only when the Transactions Status is “A” or “Y” | |
eci | String | Y | 2 chars | “05” | Electronic Commerce Indicator (ECI) - Not available when the Transaction Status is “C” 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 Union Pay International: 05, 06, 07 |
cardScheme | String | Card brand that the transaction was processed for authentication. Possible Values: AMEX DISCOVER JCB MASTERCARD VISA UNKNOWN UPI ITMX TPN | |||
cardBin | String | Card bin represents the first six numbers of the CardNumber field passed in on the cmpi_lookup request. | |||
externalReferenceId | String | Y | Unique ID from the merchant level. Merchant Reference Number. | ||
StatusReason | String | Y | Provides additional information as to why the PAResStatus has the specific value. NOTE: Required for Payment (e.g. Authentication Indicator equals 01 on Lookup Request) transactions when PAResStatus is equal to N, U, or R in the Lookup Response. Please refer to "EMV 3-D Secure Protocol and Core Functions Specification v2.2.0" for a list of Reason Codes. | ||
acsReferenceNumber | String | Y | Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval. | ||
acsOperatorId | String | Y | DS assigned ACS identifier. Each DS can provide a unique ID to each ACS on an individual basis. | ||
authenticationType | String | 2 digit | Indicates the type of authentication that will be used to challenge the card holder. Possible Values: 01 - Static 02 - Dynamic 03 - OOB (Out of Band) 04 - Decoupled NOTE: EMV® 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time. | Optional |
BrowserThreeDomainMessage – Challenge
{
"challengeHtml": "<iframe id="ChallengeResponse" srcdoc="<html><head></head><body>
<form name='creqForm' method='POST' action='https://sit-emvacs.2c2p.com/challenge/browser'>
<input type='hidden' name='creq'
value='eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJjaGFsbGVuZ2VXaW5kb3dTaXplIjoiMDUiLCJ0aHJlZURT
U2VydmVyVHJhbnNJRCI6IjBmYzI4ZmJiLWYwM2EtNGJhMS05YmZjLWJmMmEzMzgwNWJkYSIsImFj
c1RyYW5zSUQiOiIxOTY5ZmJiZi1jMDQ5LTRhNTItYWQyZS1iYTA3MTZjNTIxMTgiLCJtZXNzYW
dlVmVyc2lvbiI6IjIuMS4wIn0' />
</form>
<script type='text/javascript'>document.creqForm.submit();</script>
</body></html>" style="width:600px; height: 400px; border:none; box-shadow: rgba(0, 0, 0, 0.21) 0 0 10px 0px">
</iframe>",
"hostedChallengeUrl":"https://emv3dss.2c2p.com/3dss/url",
"status": "C",
"acsTransId":"91147cb8-d836-44e0-a1cc-b8e25040297f",
"dsTransId":"f38f4639-b820-4dbb-91af-6643f997bd69",
"threeDsServerTransId": "3dc1a061-ca59-4c87-b104-3d2bd04ed3e5",
"version": "2.1.0",
"cardScheme" : " ",
"cardBin" : " ",
"externalReferenceId" : " ",
"statusReason" : " ",
"acsReferenceNumber" : " ",
"acsOperatorId" : " "
}
BrowserThreeDomainMessage - Frictionless
{
"status": "Y",
"authenticationValue": "AJkBAZcCNgAAD0JAdkI5dJYnSBk=",
"dsTransId": "7acc0f07-67dd-4e7a-b914-f84c58f4d77c",
"acsTransId": "681b9e9f-04bc-4a99-9947-6b1c31ad1b30",
"threeDsServerTransId": "77372bf8-a8ea-48b9-9459-7b20790a98a5",
"version": "2.1.0",
"eci":"05",
"cardScheme" : " ",
"cardBin" : " ",
"externalReferenceId" : " ",
"statusReason" : " ",
"acsReferenceNumber" : " ",
"acsOperatorId" : " "
}
Response (if transaction is in error)
Field Name | Data Type | Format | Example | Description |
---|---|---|---|---|
status | String | 1 char | "U" - authentication failed | Transactions status result identifier. Possible Values: 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) |
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 |
BrowserThreeDomainMessage
{
"status": "string",
"error": "string",
"errorCode": "string",
"emvError": {
"emvErrorCode": "string",
"emvErrorComponent": "string",
"emvErrorDescription": "string",
"emvErrorDetail": "string"}
}
Updated over 1 year ago