# EMV 3DS Specification Full Reference (v2.3.1.1)

*Spec date: 2023-05-30 | 202 fields*

Independent reference; not affiliated with or endorsed by EMVCo.

EMVCo develops the EMV 3-D Secure specifications. Specification text, tables and other EMVCo materials remain the property of EMVCo, LLC or its licensors.
© 2016–2023 EMVCo, LLC. All rights reserved.

EMV® is a trademark of EMVCo, LLC, registered in the U.S. and other countries and unregistered elsewhere.

The MIT license for this project's original software does not license EMVCo materials or trademarks. This service grants no additional rights to reproduce, redistribute or otherwise reuse those materials.

This reference is an aid to reading the specifications. It does not replace the official documents, applicable bulletins or programme rules, and does not establish product approval or certification.

[Official specifications](https://www.emvco.com/emv-technologies/3-d-secure/) · [EMVCo terms of use](https://www.emvco.com/terms-of-use/) · [License and attribution](https://3dsspec.com/license)

---

## Table of Contents

1. [Concepts](#concepts)
2. [Messages](#messages)
3. [Fields Quick Reference](#fields-quick-reference)
4. [Conditional Processing Scenarios](#conditional-processing-scenarios)
5. [Field Details](#field-details)
6. [Enumerated Values](#enumerated-values)

---

## Concepts

**Device Channels**:
- `01-APP`: App-based - Native mobile application using 3DS SDK
- `02-BRW`: Browser-based - Web browser on desktop or mobile
- `03-3RI`: 3DS Requestor Initiated - Server-to-server without cardholder interaction

**Message Categories**:
- `01-PA`: Payment Authentication - Authentication for a payment transaction
- `02-NPA`: Non-Payment Authentication - Authentication not associated with a payment

**Inclusion Types**:
- `R`: Required - Field must be present
- `O`: Optional - Field may be present
- `C`: Conditional - Required when specific conditions are met

**Components**:
- **3DS Server**: Initiates and manages authentication requests
- **3DS SDK**: Embedded in merchant mobile application
- **ACS**: Access Control Server - Performs cardholder authentication
- **DS**: Directory Server - Routes messages between components

---

## Messages

### AReq - Authentication Request

**Direction**: 3DS Server → DS → ACS
**Fields**: 115
**Spec Reference**: Section 2.4.1, Table B.1

The AReq message is the initial message in the 3-D Secure authentication flow. The 3DS Server forms the AReq message when requesting authentication of the Cardholder. It can contain Cardholder, payment, and Device information for the transaction. There is only one AReq message per authentication, except for the 3DS Requestor-Initiated SPC Authentication and Decoupled Authentication Fallback.

### ARes - Authentication Response

**Direction**: ACS → DS → 3DS Server
**Fields**: 34
**Spec Reference**: Section 2.4.2, Table B.2

The ARes message is the Issuer's ACS response to the AReq message. It can indicate that the Cardholder has been authenticated, or that further Cardholder interaction is required to complete the authentication. There is only one ARes message per authentication, except for the 3DS Requestor-Initiated SPC Authentication and Decoupled Authentication Fallback.

### CReq - Challenge Request

**Direction**: 3DS SDK/Browser → ACS
**Fields**: 22
**Spec Reference**: Section 2.4.3, Table B.3

The CReq message initiates Cardholder interaction in a Challenge Flow and can be used to carry authentication data from the Cardholder.

• App-based—The CReq message is sent by the 3DS SDK. There are two or more CReq messages per challenge as multiple back-and-forth attempts between the ACS and the Cardholder may be required to complete the authentication.
• Browser-based—The CReq message is formed by the 3DS Server and is posted through the Cardholder Browser. There is only one CReq message per challenge.

### CRes - Challenge Response

**Direction**: ACS → 3DS SDK/Browser
**Fields**: 34
**Spec Reference**: Section 2.4.4, Table B.4

The CRes message is the ACS response to the CReq message. It can indicate the result of the Cardholder authentication or, in the case of an App-based model, also signal that further Cardholder interaction is required to complete the authentication.

• App-based—Elements of the CRes message provide the necessary data for the 3DS SDK to generate and display the user interface (UI) for the challenge. There are two or more CRes messages per transaction to complete Cardholder authentication.
• Browser-based—The CRes message contains the authentication result and completes the Cardholder challenge. There is only one CRes message per challenge.

### RReq - Results Request

**Direction**: ACS → DS → 3DS Server
**Fields**: 23
**Spec Reference**: Section 2.4.5, Table B.8

The RReq message communicates the results of the authentication or verification. The message is sent by the ACS through the DS to the 3DS Server. There is only one RReq message per 3DS transaction. The RReq message is not present in a Frictionless transaction.

### RRes - Results Response

**Direction**: 3DS Server → DS → ACS
**Fields**: 8
**Spec Reference**: Section 2.4.6, Table B.9

The RRes message acknowledges receipt of the RReq message. The message is sent by the 3DS Server through the DS to the ACS. There is only one RRes message per RReq message.

### PReq - Preparation Request

**Direction**: 3DS Server → DS
**Fields**: 8
**Spec Reference**: Section 2.4.7, Table B.6

The PReq message is sent from the 3DS Server to the DS to request information about the ACSs and the DS. This message is not part of the 3-D Secure authentication message flow.

### PRes - Preparation Response

**Direction**: DS → 3DS Server
**Fields**: 11
**Spec Reference**: Section 2.4.8, Table B.7

The PRes message is the DS response to the PReq message. The 3DS Server can use the PRes message to cache information about the ACSs and the DS (for example, about which Protocol Version(s) are supported). This message is not part of the 3-D Secure authentication message flow.

### OReq - Operation Request

**Direction**: DS → 3DS Server/ACS
**Fields**: 11
**Spec Reference**: Section 2.4.9, Table B.10

The OReq message sequence is created to communicate operational information serving as an alert, a reminder, report, or call to action. This message is not part of the 3-D Secure authentication message flow.

### ORes - Operation Response

**Direction**: 3DS Server/ACS → DS
**Fields**: 9
**Spec Reference**: Section 2.4.10, Table B.11

The ORes message acknowledges receipt of the OReq message sequence. The message is created by the recipient of the OReq message sequence and sent to the source of the OReq message.

### Erro - Error Message

**Direction**: Any → Any
**Fields**: 11
**Spec Reference**: Section 2.4.11, Table B.12

Error Messages provide additional information about an error that occurred during message processing between the 3DS Server, the DS, the ACS, and the 3DS SDK.

---

## Fields Quick Reference

| Field | Display Name | Type | Length | Source | Messages |
|-------|--------------|------|--------|--------|----------|
| acceptLanguage | Accept Language | Array |  | 3DS Server | AReq:R |
| acctID | Cardholder Account Identifier | String | Variable, maximum 64 | 3DS Server | AReq:O |
| acctInfo | Cardholder Account Information | Object | Variable | 3DS Server | AReq:O |
| acctNumber | Cardholder Account Number | String | Variable, 13–19 | 3DS Server | AReq:R |
| acctType | Account Type | String | 2 characters | 3DS Server | AReq:C |
| acquirerBIN | Acquirer BIN | String | Variable, maximum 11 | 3DS Server | AReq:01-PA=R, 02-NPA=O |
| acquirerCountryCode | Acquirer Country Code | String | 3 characters | 3DS Server, DS | AReq:R |
| acquirerCountryCodeSource | Acquirer Country Code Source | String | 2 characters | 3DS Server, DS | AReq:R |
| acquirerMerchantID | Acquirer Merchant ID | String | Variable, maximum 35 | 3DS Server | AReq:01-PA=R, 02-NPA=O |
| acsChallengeMandated | ACS Challenge Mandated Indicator | String | 1 character | ACS | ARes:C |
| acsCounterAtoS | ACS Counter ACS to SDK | String | 3 characters | ACS | CRes:R |
| acsDecConInd | ACS Decoupled Confirmation Indicator | String | 1 character | ACS | ARes:C |
| acsEphemPubKey | ACS Ephemeral Public Key (QT) | Object | Variable, maximum 256 characters | ACS | ARes:C |
| acsHTML | ACS HTML | String | Variable, maximum | ACS | CRes:C |
| acsOperatorID | ACS Operator ID | String | Variable, maximum 32 | ACS | ARes:C |
| acsReferenceNumber | ACS Reference Number | String | Variable, maximum 32 | ACS | ARes:R ORes:C |
| acsRenderingType | ACS Rendering Type | Object |  | ACS | ARes:C RReq:C |
| acsSignedContent | ACS Signed Content | String | Variable, maximum 16000 | ACS | ARes:C |
| acsTransID | ACS Transaction ID | String | 36 characters | ACS | ARes:R CReq:R CRes:R Erro:C ORes:C RReq:R RRes:R |
| acsURL | ACS URL | String | Variable, maximum 2048 | ACS | ARes:C |
| acsUiType | ACS UI Type | String | 2 characters | ACS | CRes:C |
| addrMatch | Address Match Indicator | String | 1 character | 3DS Server | AReq:O |
| appIp | App IP Address | String | Variable, maximum 45 | 3DS Server | AReq:C |
| authenticationMethod | Authentication Method | Array |  | ACS | ARes:C RReq:C |
| authenticationValue | Authentication Value | String | Variable, maximum 4000 | ACS, DS | ARes:C RReq:C |
| billAddrCity | Cardholder Billing Address City | String | Variable, maximum 50 | 3DS Server | AReq:C |
| billAddrCountry | Cardholder Billing Address Country | String | 3 characters | 3DS Server | AReq:C |
| billAddrLine1 | Cardholder Billing Address Line 1 | String | Variable, maximum 50 | 3DS Server | AReq:C |
| billAddrLine2 | Cardholder Billing Address Line 2 | String | Variable, maximum 50 | 3DS Server | AReq:C |
| billAddrLine3 | Cardholder Billing Address Line 3 | String | Variable, maximum 50 | 3DS Server | AReq:C |
| billAddrPostCode | Cardholder Billing Address Postal Code | String | Variable, maximum 16 | 3DS Server | AReq:C |
| billAddrState | Cardholder Billing Address State | String | Variable, maximum 3 | 3DS Server | AReq:C |
| broadInfo | Broadcast Information | Object | Variable, maximum 4096 | 3DS Server, ACS, DS | AReq:O ARes:O |
| browserAcceptHeader | Browser Accept Headers | String | Variable, maximum 2048 | 3DS Server | AReq:R |
| browserColorDepth | Browser Screen Color Depth | String | 1–2 characters; numeric | 3DS Server | AReq:C |
| browserIP | Browser IP Address | String | Variable, maximum 45 | 3DS Server | AReq:C |
| browserJavaEnabled | Browser Java Enabled | Boolean |  | 3DS Server | AReq:C |
| browserJavascriptEnabled | Browser JavaScript Enabled | Boolean |  | 3DS Server | AReq:R |
| browserLanguage | Browser Language | String | Variable, maximum 35 | 3DS Server | AReq:C |
| browserScreenHeight | Browser Screen Height | String | Variable, 1–6 characters; | 3DS Server | AReq:C |
| browserScreenWidth | Browser Screen Width | String | Variable, 1–6 characters; | 3DS Server | AReq:C |
| browserTZ | Browser Time Zone | String | Variable, 1–5 characters | 3DS Server | AReq:C |
| browserUserAgent | Browser User-Agent | String | Variable, maximum 2048 | 3DS Server | AReq:R |
| cardExpiryDate | Card/Token Expiry Date | String | 4 characters | 3DS Server | AReq:C |
| cardRangeData | Card Range Data | Array |  | DS | PRes:C |
| cardRangeDataDownloadInd | Card Range Data Download Indicator | String | 1 character | 3DS Server | PReq:C |
| cardRangeDataFileURL | Card Range Data File URL | String | Variable, maximum 2048 | DS | PRes:C |
| cardSecurityCode | Card Security Code | String | Variable, 3–4 characters, | 3DS Server | AReq:C |
| cardSecurityCodeStatus | Card Security Code Status | String | 1 character | ACS, DS | AReq:C ARes:C |
| cardSecurityCodeStatusSource | Card Security Code Status Source | String | 2 characters | ACS, DS | AReq:C ARes:C |
| cardholderInfo | Cardholder Information Text | Object | Variable | ACS | ARes:C RReq:O |
| cardholderName | Cardholder Name | String | Variable, 1–45 characters | 3DS Server | AReq:C |
| challengeAddCode | Challenge Additional Code | String | 1 character | 3DS SDK | CReq:C |
| challengeAddLabel | Challenge Additional Label | String | Variable, maximum 45 | ACS | CRes:C |
| challengeCancel | Challenge Cancelation Indicator | String | 2 characters | 3DS SDK, ACS | CReq:C RReq:C |
| challengeCompletionInd | Challenge Completion Indicator | String | 1 character | ACS | CRes:R |
| challengeDataEntry | Challenge Data Entry | String | Variable, maximum 45 | 3DS SDK | CReq:C |
| challengeDataEntryTwo | Challenge Data Entry 2 | String | Variable, maximum 45 | 3DS SDK | CReq:C |
| challengeEntryBox | Challenge Entry Box | Object | Variable | ACS | CRes:C |
| challengeEntryBoxTwo | Challenge Entry Box 2 | Object | Variable | ACS | CRes:C |
| challengeErrorReporting | Challenge Error Reporting | Object | Variable | ACS | RReq:C |
| challengeHTMLDataEntry | Challenge HTML Data Entry | String | Variable, maximum 256 | 3DS SDK | CReq:C |
| challengeInfoHeader | Challenge Information Header | String | Variable, maximum 45 | ACS | CRes:C |
| challengeInfoLabel | Challenge Information Label | String | Variable, maximum 45 | ACS | CRes:C |
| challengeInfoText | Challenge Information Text | String | Variable, maximum 350 | ACS | CRes:C |
| challengeInfoTextIndicator | Challenge Information Text Indicator | String | 1 character | ACS | CRes:C |
| challengeNoEntry | Challenge No Entry | String |  | 3DS SDK | CReq:C |
| challengeSelectInfo | Challenge Selection Information | Array |  | ACS | CRes:C |
| challengeWindowSize | Challenge Window Size | String | 2 characters |  | CReq:R |
| defaultSdkType | Default-SDK Type | Object | 2 characters | 3DS Server | AReq:C |
| deviceBindingDataEntry | Device Binding Data Entry | String | 1 character | 3DS SDK | CReq:C |
| deviceBindingInfoText | Device Binding Information Text | String | Variable, maximum 64 | ACS | CRes:C |
| deviceBindingStatus | Device Binding Status | String | 2 characters | 3DS Server, DS, ACS | AReq:O ARes:O RReq:O |
| deviceBindingStatusSource | Device Binding Status Source | String | 2 characters | 3DS Server, ACS, DS | AReq:C ARes:C RReq:C |
| deviceChannel | Device Channel | String | 2 characters | 3DS Server | AReq:R |
| deviceId | Browser User Device ID | String | Variable, maximum 64 | 3DS Server | AReq:C |
| deviceInfo | Device Information | String | Variable, maximum 64000 | DS | AReq:C |
| deviceInfoRecognisedVersion | Device Information Recognised Version | String | Variable, minimum 3 | ACS | ARes:R |
| deviceRenderOptions | Device Rendering Options Supported | Object | Variable | 3DS Server | AReq:R |
| dsProtocolVersions | DS Protocol Versions | Array |  | DS | PRes:R |
| dsReferenceNumber | DS Reference Number | String | Variable, maximum 32 | DS | AReq:C ARes:R OReq:R |
| dsTransID | DS Transaction ID | String | 36 characters | DS | AReq:C ARes:R Erro:C OReq:R ORes:R PRes:R RReq:R RRes:R |
| dsURL | DS URL | String | Variable, maximum 2048 | DS | AReq:C |
| dsUrlList | DS URL List | Array |  | DS | PRes:O |
| eci | Electronic Commerce Indicator (ECI) | String | 2 characters | ACS, DS | ARes:C RReq:C |
| email | Cardholder Email Address | String | Variable, maximum 254 | 3DS Server | AReq:C |
| errorCode | Error Code | String | 3 characters |  | Erro:R |
| errorComponent | Error Component | String | 1 character |  | Erro:R |
| errorDescription | Error Description | String | Variable, maximum 2048 |  | Erro:R |
| errorDetail | Error Detail | String | Variable, maximum 2048 |  | Erro:R |
| errorMessageType | Error Message Type | String | 4 characters |  | Erro:C |
| expandInfoLabel | Expandable Information Label | String | Variable, maximum 45 | ACS | CRes:O |
| expandInfoText | Expandable Information Text | String | Variable, maximum 256 | ACS | CRes:O |
| homePhone | Cardholder Home Phone Number | String | Variable | 3DS Server | AReq:C |
| infoContinueIndicator | Information Continuation Indicator | String |  | 3DS SDK | CReq:C |
| infoContinueLabel | Information Continuation Label | String | Variable, maximum 45 | ACS | CRes:C |
| interactionCounter | Interaction Counter | String | 2 characters | ACS | RReq:C |
| issuerImage | Issuer Image | String |  | ACS | CRes:C |
| mcc | Merchant Category Code | String | 4 characters | 3DS Server | AReq:01-PA=R, 02-NPA=O |
| merchantCountryCode | Merchant Country Code | String | 3 characters | 3DS Server | AReq:01-PA=R, 02-NPA=O |
| merchantName | Merchant Name | String | Variable, maximum 40 | 3DS Server | AReq:01-PA=R, 02-NPA=O |
| merchantRiskIndicator | Merchant Risk Indicator | Object | Variable | 3DS Server | AReq:O |
| messageCategory | Message Category | String | 2 characters | 3DS Server | AReq:R RReq:R |
| messageExtension | Message Extension | Array |  | 3DS Server, 3DS SDK, ACS, DS | AReq:C ARes:C CReq:C CRes:C OReq:C ORes:C PReq:C PRes:C RReq:C RRes:C |
| messageType | Message Type | String | 4 characters | 3DS Server, 3DS SDK, ACS, DS | AReq:R ARes:R CReq:R CRes:R Erro:R OReq:R ORes:R PReq:R PRes:R RReq:R RRes:R |
| messageVersion | Message Version Number | String | Variable, 5–8 characters | 3DS Server | AReq:R ARes:R CReq:R CRes:R Erro:R OReq:R ORes:R PReq:R PRes:R RReq:R RRes:R |
| mobilePhone | Cardholder Mobile Phone Number | String | Variable | 3DS Server | AReq:C |
| multiTransaction | Multi-Transaction | Object | Variable | 3DS Server | AReq:O |
| notificationURL | Notification URL | String | Variable, maximum 256 | 3DS Server | AReq:R |
| oobAppLabel | OOB App Label | String | Variable, maximum 45 | ACS | CRes:C |
| oobAppStatus | OOB App Status | String | 2 characters | 3DS SDK | CReq:C |
| oobAppURL | OOB App URL | String | Variable, maximum 2048 | ACS | CRes:C |
| oobAppURLInd | OOB App URL Indicator | String | 2 characters | 3DS SDK | CReq:R |
| oobContinue | OOB Continuation Indicator | String | 2 characters | 3DS SDK | CReq:C |
| oobContinueLabel | OOB Continuation Label | String | Variable, maximum 45 | ACS | CRes:C |
| opCategory | Operation Category | String | 2 characters | DS | OReq:R |
| opDescription | Operation Description | String | Variable, maximum 20000 | DS | OReq:R |
| opExpDate | Operation Expiration Date | String | 8 characters | DS | OReq:R |
| opPriorTransRef | Operation Prior Transaction Reference | Object |  | DS | OReq:O |
| opSeq | Operation Sequence | Object |  | DS | OReq:R |
| opSeverity | Operation Severity | String | 2 characters | DS | OReq:R |
| opStatus | Operation Message Status | String | 2 characters | 3DS Server, ACS | ORes:R |
| payTokenInd | EMV Payment Token Indicator | String |  | 3DS Server, DS | AReq:C |
| payTokenInfo | EMV Payment Token Information | Object | Variable | 3DS Server, DS | AReq:O |
| payTokenSource | EMV Payment Token Source | String | 2 characters | 3DS Server, DS | AReq:C |
| payeeOrigin | Payee Origin | String | Variable, maximum 2048 | 3DS Server | AReq:C |
| psImage | Payment System Image | Object |  | ACS | CRes:C |
| purchaseAmount | Purchase Amount | String | Variable, maximum 48 | 3DS Server | AReq:01-PA=R, 02-NPA=C |
| purchaseCurrency | Purchase Currency | String | 3 characters; numeric | 3DS Server | AReq:01-PA=R, 02-NPA=C |
| purchaseDate | Purchase Date & Time | String | 14 characters | 3DS Server | AReq:01-PA=R, 02-NPA=C |
| purchaseExponent | Purchase Currency Exponent | String | 1 character | 3DS Server | AReq:01-PA=R, 02-NPA=C |
| purchaseInstalData | Instalment Payment Data | String | Variable, maximum 3 | 3DS Server | AReq:C |
| readOrder | Read Order | String | 2 characters | DS | PRes:R |
| recurringAmount | Recurring Amount | String | Variable, maximum 48 | 3DS Server | AReq:C |
| recurringCurrency | Recurring Currency | String | 3 characters; numeric | 3DS Server | AReq:C |
| recurringDate | Recurring Date | String | 8 characters | 3DS Server | AReq:C |
| recurringExpiry | Recurring Expiry | String | 8 characters | 3DS Server | AReq:C |
| recurringExponent | Recurring Currency Exponent | String | 1 character; numeric | 3DS Server | AReq:C |
| recurringFrequency | Recurring Frequency | String | Variable, maximum 4 | 3DS Server | AReq:C |
| recurringInd | Recurring Indicator | Object |  | 3DS Server | AReq:C |
| resendChallenge | Resend Challenge Information Code | String | 1 character | 3DS SDK | CReq:C |
| resendInformationLabel | Resend Information Label | String | Variable, maximum 45 | ACS | CRes:C |
| resultsStatus | Results Message Status | String | 2 characters | 3DS Server | RRes:R |
| sdkAppID | SDK App ID | String | 36 characters | 3DS SDK | AReq:R |
| sdkCounterStoA | SDK Counter SDK to ACS | String | 3 characters | 3DS SDK | CReq:R |
| sdkEncData | SDK Encrypted Data | String | Variable, maximum 64000 | 3DS SDK | AReq:C |
| sdkEphemPubKey | SDK Ephemeral Public Key (Qc) | Object | Variable, maximum 256 | 3DS SDK | AReq:R |
| sdkMaxTimeout | SDK Maximum Timeout | String | 2 characters | 3DS SDK | AReq:R |
| sdkReferenceNumber | SDK Reference Number | String | Variable, maximum 32 | 3DS SDK | AReq:R |
| sdkServerSignedContent | SDK Server Signed Content | String | Variable | 3DS SDK | AReq:C |
| sdkSignatureTimestamp | SDK Signature Timestamp | String | 14 characters | 3DS SDK | AReq:C |
| sdkTransID | SDK Transaction ID | String | 36 characters | 3DS SDK | AReq:R ARes:R CReq:R CRes:R Erro:C RReq:R RRes:R |
| sdkType | SDK Type | String | 2 characters | 3DS Server | AReq:R |
| sellerInfo | Seller Information | Array |  | 3DS Server | AReq:O |
| serialNum | Serial Number | String | Variable, maximum 20 | 3DS Server, DS | PReq:O PRes:C |
| shipAddrCity | Cardholder Shipping Address City | String | Variable, maximum 50 | 3DS Server | AReq:C |
| shipAddrCountry | Cardholder Shipping Address Country | String | 3 characters | 3DS Server | AReq:C |
| shipAddrLine1 | Cardholder Shipping Address Line 1 | String | Variable, maximum 50 | 3DS Server | AReq:C |
| shipAddrLine2 | Cardholder Shipping Address Line 2 | String | Variable, maximum 50 | 3DS Server | AReq:C |
| shipAddrLine3 | Cardholder Shipping Address Line 3 | String | Variable, maximum 50 | 3DS Server | AReq:C |
| shipAddrPostCode | Cardholder Shipping Address Postal Code | String | Variable, maximum 16 | 3DS Server | AReq:C |
| shipAddrState | Cardholder Shipping Address State | String | Variable, maximum 3 | 3DS Server | AReq:C |
| spcIncompInd | SPC Incompletion Indicator | String | 2 characters | 3DS Server | AReq:C |
| spcTransData | SPC Transaction Data | Object |  | ACS, DS | ARes:C |
| splitSdkServerID | Split-SDK Server ID | String | Variable, maximum 32 characters | Split-SDK Server | AReq:C |
| splitSdkType | Split-SDK Type | Object | Variable | 3DS Server | AReq:C |
| submitAuthenticationLabel | Submit Authentication Label | String | Variable, maximum 45 | ACS | CRes:C |
| taxId | Tax ID | String | Variable, maximum 45 | 3DS Server | AReq:C |
| threeDSCompInd | 3DS Method Completion Indicator | String | 1 character | 3DS Server | AReq:R |
| threeDSMethodId | 3DS Method ID | String | 36 characters | 3DS Server | AReq:C |
| threeDSRequestorAppURL | 3DS Requestor App URL | String | Variable, maximum 2048 | 3DS SDK | CReq:C |
| threeDSRequestorAppURLInd | 3DS Requestor App URL Indicator | String | 1 character | ACS | AReq:R ARes:R |
| threeDSRequestorAuthenticationInd | 3DS Requestor Authentication Indicator | String |  | 3DS Server | AReq:R |
| threeDSRequestorAuthenticationInfo | 3DS Requestor Authentication Information | Array |  | 3DS Server, DS | AReq:O |
| threeDSRequestorChallengeInd | 3DS Requestor Challenge Indicator | Array | 1–2 items | 3DS Server, DS | AReq:O |
| threeDSRequestorDecMaxTime | 3DS Requestor Decoupled Max Time | String | 5 characters | 3DS Server | AReq:C |
| threeDSRequestorDecReqInd | 3DS Requestor Decoupled Request Indicator | String | 1 character | 3DS Server | AReq:O |
| threeDSRequestorID | 3DS Requestor ID | String | Variable, maximum 35 | 3DS Server | AReq:R |
| threeDSRequestorName | 3DS Requestor Name | String | Variable, maximum 40 | 3DS Server | AReq:R |
| threeDSRequestorPriorAuthenticationInfo | 3DS Requestor Prior Transaction Authentication Information | Array |  | 3DS Server | AReq:C |
| threeDSRequestorSpcSupport | 3DS Requestor SPC Support | String |  | 3DS Server | AReq:C |
| threeDSRequestorURL | 3DS Requestor URL | String | Variable, maximum 2048 | 3DS Server | AReq:R |
| threeDSServerOperatorID | 3DS Server Operator ID | String | Variable, maximum 32 | 3DS Server | AReq:C PReq:C |
| threeDSServerRefNumber | 3DS Server Reference Number | String | Variable, maximum 32 | 3DS Server | AReq:R ORes:C PReq:R |
| threeDSServerTransID | 3DS Server Transaction ID | String | 36 characters | 3DS Server | AReq:R ARes:R CReq:R CRes:R Erro:C ORes:C PReq:R PRes:R RReq:R RRes:R |
| threeDSServerURL | 3DS Server URL | String | Variable, maximum 2048 | 3DS Server | AReq:R |
| threeRIInd | 3RI Indicator | String | 2 characters | 3DS Server | AReq:R |
| togglePositionInd | Toggle Position Indicator | String | 2 characters | ACS | CRes:O |
| transChallengeExemption | Transaction Challenge Exemption | String | 2 characters | ACS | ARes:O |
| transStatus | Transaction Status | String | 1 character | ACS, DS | ARes:01-PA=R, 02-NPA=C CRes:01-PA=C, 02-NPA=C RReq:01-PA=R, 02-NPA=C |
| transStatusReason | Transaction Status Reason | String | 2 characters | ACS, DS | ARes:C RReq:C |
| transStatusReasonInfo | Transaction Status Reason Information | String | Variable, maximum 256 | ACS, DS | ARes:O RReq:O |
| transType | Transaction Type | String | 2 characters | 3DS Server | AReq:C |
| trustListDataEntry | Trust List Data Entry | String | 1 character | 3DS SDK | CReq:C |
| trustListInfoText | Trust List Information Text | String | Variable, maximum 64 | ACS | CRes:O |
| trustListStatus | Trust List Status | String | 1 character | 3DS Server, ACS, DS | AReq:O ARes:O RReq:O |
| trustListStatusSource | Trust List Status Source | String | 2 characters | 3DS Server, ACS, DS | AReq:C ARes:C RReq:C |
| userId | Browser User ID | String | Variable, maximum 64 | 3DS Server | AReq:C |
| webAuthnCredList | WebAuthn Credential List | Array | Variable, maximum | ACS | ARes:C |
| whyInfoLabel | Why Information Label | String | Variable, maximum 45 | ACS | CRes:O |
| whyInfoText | Why Information Text | String | Variable, maximum 256 | ACS | CRes:O |
| workPhone | Cardholder Work Phone Number | String | Variable | 3DS Server | AReq:C |

---

## Conditional Processing Scenarios

### Device Channel Variations

Fields required based on device channel (APP, BRW, 3RI)

**deviceChannel=01 (APP)**

- Additional Required: `sdkAppID`, `sdkEncData`, `sdkEphemPubKey`, `sdkMaxTimeout`, `sdkReferenceNumber`, `sdkTransID`
- Not Applicable: `browserAcceptHeader`, `browserIP`, `browserJavaEnabled`, `browserJavascriptEnabled`, `browserLanguage`, `browserColorDepth`, `browserScreenHeight`, `browserScreenWidth`, `browserTZ`, `browserUserAgent`, `threeDSCompInd`
- Notes: Illustrative field group, not an unconditional mandatory checklist. SDK collects device info. Inspect each field’s conditions.

**deviceChannel=02 (BRW)**

- Additional Required: `browserAcceptHeader`, `browserIP`, `browserJavaEnabled`, `browserJavascriptEnabled`, `browserLanguage`, `browserColorDepth`, `browserScreenHeight`, `browserScreenWidth`, `browserTZ`, `browserUserAgent`, `threeDSCompInd`
- Not Applicable: `sdkAppID`, `sdkEncData`, `sdkEphemPubKey`, `sdkMaxTimeout`, `sdkReferenceNumber`, `sdkTransID`, `sdkType`
- Notes: Illustrative field group, not an unconditional mandatory checklist. Browser fields have JavaScript and regional conditions; inspect each field’s requirement.

**deviceChannel=03 (3RI)**

- Additional Required: `threeRIInd`
- Not Applicable: `sdkAppID`, `sdkEncData`, `sdkEphemPubKey`, `sdkMaxTimeout`, `sdkReferenceNumber`, `sdkTransID`, `sdkType`, `browserAcceptHeader`, `browserIP`, `browserJavaEnabled`, `browserJavascriptEnabled`, `browserLanguage`, `browserColorDepth`, `browserScreenHeight`, `browserScreenWidth`, `browserTZ`, `browserUserAgent`, `threeDSCompInd`
- Notes: Server-to-server, no cardholder interaction. Must be frictionless or decoupled. transStatus=C or S not allowed.

### Message Category Variations

Fields required based on message category (PA vs NPA)

**messageCategory=01 (PA)**

- Additional Required: `purchaseAmount`, `purchaseCurrency`, `purchaseDate`, `purchaseExponent`
- Notes: Payment authentication - amount fields required.

**messageCategory=02 (NPA)**

- Additional Required: `threeDSRequestorAuthenticationInd`
- Notes: Non-payment authentication. Purchase fields can still be required: inspect each field’s 02-NPA conditions, including the requestor authentication indicator and 3RI indicator.

### ARes Transaction Status Outcomes

What to do based on transStatus in ARes

| transStatus | Meaning | Next Step | Key Fields |
|-------------|---------|-----------|------------|
| Y | Authentication Successful | Complete - proceed to authorization | authenticationValue |
| N | Not Authenticated | Decline or proceed without liability shift | transStatusReason |
| U | Authentication Could Not Be Performed | Proceed without liability shift or retry | transStatusReason |
| A | Attempted Authentication | Proceed - proof of attempt available | authenticationValue |
| C | Challenge Required | Initiate CReq to perform cardholder challenge | acsURL, acsChallengeMandated, acsSignedContent |
| D | Decoupled Authentication | Wait for RReq with final result | acsDecConInd, threeDSRequestorDecMaxTime |
| R | Rejected | Do not proceed to authorization | transStatusReason |
| I | Informational Only | Informational - no authentication performed | authenticationValue |

**Detailed Outcomes:**

**transStatus=Y (Authentication Successful)**
- Next Step: Complete - proceed to authorization
- Key Fields: `authenticationValue`
- Notes: Use authenticationValue for authorization. Liability shift to issuer.

**transStatus=N (Not Authenticated)**
- Next Step: Decline or proceed without liability shift
- Key Fields: `transStatusReason`
- Notes: Check transStatusReason for details. Merchant bears fraud liability.

**transStatus=U (Authentication Could Not Be Performed)**
- Next Step: Proceed without liability shift or retry
- Key Fields: `transStatusReason`
- Notes: Technical issue. Check transStatusReason. May retry or proceed at merchant's risk.

**transStatus=A (Attempted Authentication)**
- Next Step: Proceed - proof of attempt available
- Key Fields: `authenticationValue`
- Notes: Partial liability shift in some markets. Use authenticationValue.

**transStatus=C (Challenge Required)**
- Next Step: Initiate CReq to perform cardholder challenge
- Key Fields: `acsURL`, `acsChallengeMandated`, `acsSignedContent`
- Notes: APP: Use acsSignedContent, SDK renders UI. BRW: Redirect to acsURL.

**transStatus=D (Decoupled Authentication)**
- Next Step: Wait for RReq with final result
- Key Fields: `acsDecConInd`, `threeDSRequestorDecMaxTime`
- Notes: ACS authenticates cardholder out-of-band. Poll/wait for RReq message.

**transStatus=R (Rejected)**
- Next Step: Do not proceed to authorization
- Key Fields: `transStatusReason`
- Notes: Issuer explicitly rejected. Do not attempt authorization.

**transStatus=I (Informational Only)**
- Next Step: Informational - no authentication performed
- Key Fields: `authenticationValue`
- Notes: 3DS Requestor preference acknowledged. Used with data share only requests.

### Challenge Flow by Device Channel

How to handle transStatus=C based on device channel

**transStatus=C, deviceChannel=01 (APP)**

- ARes Fields: `acsSignedContent`, `acsTransID`, `acsRenderingType`
- CReq Fields: `acsTransID`, `challengeWindowSize`, `messageType`, `messageVersion`, `sdkCounterStoA`, `sdkTransID`, `threeDSServerTransID`
- Action: SDK receives acsSignedContent, renders native challenge UI. Multiple CReq/CRes exchanges possible.

**transStatus=C, deviceChannel=02 (BRW)**

- ARes Fields: `acsURL`, `acsTransID`
- CReq Fields: `acsTransID`, `messageType`, `messageVersion`, `threeDSServerTransID`
- Action: Redirect browser to acsURL with CReq. Single CReq, single CRes. ACS renders challenge UI.

### 3RI Request Types

Scenarios for 3DS Requestor Initiated (server-to-server) authentication

| threeRIInd | Meaning | Typical Use |
|------------|---------|-------------|
| 01 | Recurring transaction | Subscription billing, regular payments |
| 02 | Instalment transaction | Split payment over time |
| 03 | Add card | Wallet provisioning without cardholder present |
| 04 | Maintain card information | Update stored card details |
| 05 | Account verification | Verify card is valid without payment |
| 06 | Split shipment | Subsequent auth for split shipment |
| 07 | Top-up | Prepaid account top-up |
| 08 | Mail Order | MOTO transaction authentication |
| 09 | Telephone Order | MOTO transaction authentication |
| 10 | Trust List status check | Check if cardholder is on issuer trust list |
| 11 | Other payment | Merchant-initiated transactions not covered above |
| 12 | Billing Agreement | Variable recurring payment (e.g., utility bills) |
| 13 | Device Binding status check | Check if device is bound to card |
| 14 | Decoupled Authentication Fallback | Fallback when primary auth not possible |
| 15 | SPC Authentication | Secure Payment Confirmation |

### Decoupled Authentication Flow

When transStatus=D, cardholder authenticates out-of-band

**Step 1: ARes returns transStatus=D**
- Fields: `acsDecConInd`, `threeDSRequestorDecMaxTime`
- Notes: ACS will authenticate cardholder separately (app push, SMS, etc.)

**Step 2: 3DS Server waits for RReq**
- Fields: `threeDSServerURL`
- Notes: ACS sends RReq to threeDSServerURL when authentication completes

**Step 3: RReq arrives with final transStatus**
- Fields: `transStatus`, `authenticationValue`
- Notes: transStatus will be Y, N, or U. If Y, authenticationValue is provided.

**Step 4: 3DS Server responds with RRes**
- Fields: `resultsStatus`
- Notes: Acknowledge receipt of results.

### Common Conditional Field Patterns

When specific fields are required

| Field | Condition | Message | Notes |
|-------|-----------|---------|-------|
| browserColorDepth | browserJavascriptEnabled = true | AReq | Only required when JavaScript is enabled |
| browserScreenHeight | browserJavascriptEnabled = true | AReq | Only required when JavaScript is enabled |
| browserScreenWidth | browserJavascriptEnabled = true | AReq | Only required when JavaScript is enabled |
| threeDSRequestorDecMaxTime | threeDSRequestorDecReqInd = Y or F | AReq | Required when decoupled authentication is requested |
| threeDSMethodId | Reusing previous 3DS Method execution | AReq | Required when reusing prior 3DS Method results |
| authenticationValue | transStatus in [Y, A, I] for PA | ARes, RReq | Required for successful payment authentication |
| threeDSServerTransID | Always (if available for Erro) | Erro | Required in Error message if obtainable |
| acctNumber | Not using network token | AReq | Required unless using token-based authentication |

---

## Field Details

### acceptLanguage

- **Display Name**: Accept Language
- **Type**: Array
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.3.1.1
- **Description**: Value representing the Browser language preference present in the HTTP header, as defined in IETF BCP 47.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 198

### acctID

- **Display Name**: Cardholder Account Identifier
- **Type**: String (Variable, maximum 64)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.0.0
- **Description**: Additional information about the account optionally provided by the 3DS Requestor.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 218

### acctInfo

- **Display Name**: Cardholder Account Information
- **Type**: Object (Variable)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.0.0
- **Description**: Additional information about the Cardholder’s account provided by the 3DS Requestor.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 218
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: Optional, but strongly recommended to include.

### acctNumber

- **Display Name**: Cardholder Account Number
- **Type**: String (Variable, 13–19)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Account number that will be used in the authorisation request for payment transactions. May be represented by PAN, Payment Token.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 218

### acctType

- **Display Name**: Account Type
- **Type**: String (2 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Indicates the type of account. For example, for a multi-account card product.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 199
- **Conditional Rules**:
  - All applicable categories: Required if the 3DS Requestor is asking the Cardholder which Account Type they are using before making the purchase
  - All applicable categories: Required in some markets (for example, for Merchants in Brazil)
- **Values**:
  - `01`: Not applicable
  - `02`: Credit
  - `03`: Debit
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: DS or Payment System-specific

### acquirerBIN

- **Display Name**: Acquirer BIN
- **Type**: String (Variable, maximum 11)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=O
- **Introduced**: v2.0.0
- **Description**: Acquiring institution identification code as assigned by the DS receiving the AReq message.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 199

### acquirerCountryCode

- **Display Name**: Acquirer Country Code
- **Type**: String (3 characters)
- **Source**: 3DS Server, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.3.1.1
- **Description**: The code of the country where the acquiring institution is located (in accordance with ISO 3166-1). The DS may edit the value provided by the 3DS Server.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 200

### acquirerCountryCodeSource

- **Display Name**: Acquirer Country Code Source
- **Type**: String (2 characters)
- **Source**: 3DS Server, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.3.1.1
- **Description**: This data element is populated by the system setting the Acquirer Country Code. The DS may edit the value provided by the 3DS Server.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 200
- **Values**:
  - `01`: 3DS Server
  - `02`: DS
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### acquirerMerchantID

- **Display Name**: Acquirer Merchant ID
- **Type**: String (Variable, maximum 35)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=O
- **Introduced**: v2.0.0
- **Description**: Acquirer-assigned Merchant identifier. This may be the same value that is used in authorisation requests sent on behalf of the 3DS Requestor and is represented in ISO 8583-1 formatting requirements.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 200

### acsChallengeMandated

- **Display Name**: ACS Challenge Mandated Indicator
- **Type**: String (1 character)
- **Source**: ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:C
- **Introduced**: v2.1.0
- **Description**: Indication of whether a challenge is required for the transaction to be authorised due to local/regional mandates or other variable.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 201
- **Conditional Rules**:
  - All applicable categories: required when transStatus is one of C, D
- **Values**:
  - `Y`: Challenge is mandated
  - `N`: Challenge is not mandated

### acsCounterAtoS

- **Display Name**: ACS Counter ACS to SDK
- **Type**: String (3 characters)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:R
- **Introduced**: v2.1.0
- **Description**: Counter used as a security measure in the ACS to 3DS SDK secure channel. Note: The counter is the decimal value equivalent of the byte, encoded as a numeric string.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 201
- **Notes**:
  - In cryptographic functions (Section 6.2), coded as 1 byte counting 0-255. In CReq/CRes messages, transmitted as decimal string padded to 3 digits. Example: byte 0x23 (35 decimal) → '035'. *(EMVCo FAQ)*

### acsDecConInd

- **Display Name**: ACS Decoupled Confirmation Indicator
- **Type**: String (1 character)
- **Source**: ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:C
- **Introduced**: v2.2.0
- **Description**: Indicates whether the ACS confirms use of Decoupled Authentication and agrees to use Decoupled Authentication to authenticate the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 201
- **Conditional Rules**:
  - All applicable categories: required when transStatus is one of D
- **Values**:
  - `Y`: Confirms Decoupled Authentication will be used
  - `N`: Decoupled Authentication will not be used Note: if 3DS Requestor Decoupled Request Indicator = N, a value of Y cannot be returned in the ACS Decoupled Confirmation Indicator. Note: if Transaction Status = D, a value of N is not valid.

### acsEphemPubKey

- **Display Name**: ACS Ephemeral Public Key (QT)
- **Type**: Object (Variable, maximum 256 characters)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: ARes:C
- **Introduced**: v2.0.0
- **Description**: Public key component of the ephemeral key pair generated by the ACS and used to establish session keys between the 3DS SDK and the ACS. See Section 6.2.3.2 for additional detail.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 202
- **Notes**:
  - Conveyed within the acsSignedContent JWS object rather than as a top-level message field. See Section 6.2.3.2.

### acsHTML

- **Display Name**: ACS HTML
- **Type**: String (Variable, maximum)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: HTML provided by the ACS in the CRes message. Used when HTML is specified in the ACS UI Type during the Cardholder challenge.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 202
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 05, 06

### acsOperatorID

- **Display Name**: ACS Operator ID
- **Type**: String (Variable, maximum 32)
- **Source**: ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:C
- **Introduced**: v2.1.0
- **Description**: DS assigned ACS identifier. Each DS can provide a unique ID to each ACS on an individual basis.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 202
- **Conditional Rules**:
  - All applicable categories: Requirements for the presence of this field are DS-specific.

### acsReferenceNumber

- **Display Name**: ACS Reference Number
- **Type**: String (Variable, maximum 32)
- **Source**: ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:R ORes:C
- **Introduced**: v2.0.0
- **Description**: Unique identifier assigned by the EMVCo Secretariat upon Testing and Approval.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 203
- **Conditional Rules**:
  - All applicable categories: Required in the ORes message for an ACS receiving an OReq message

### acsRenderingType

- **Display Name**: ACS Rendering Type
- **Type**: Object
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: ARes:C RReq:C
- **Introduced**: v2.0.0
- **Description**: Identifies the ACS Interface and ACS UI Template that the ACS will first present to the consumer.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 203
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: required when transStatus is one of C
  - All applicable categories: For RReq, required unless ACS Decoupled Confirmation Indicator = Y.

### acsSignedContent

- **Display Name**: ACS Signed Content
- **Type**: String (Variable, maximum 16000)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: ARes:C
- **Introduced**: v2.0.0
- **Description**: Contains the JWS object (represented as a string) created by the ACS for the ARes message. See Section 6.2.3.2 for details.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 204
- **Conditional Rules**:
  - All applicable categories: required when transStatus is one of C

### acsTransID

- **Display Name**: ACS Transaction ID
- **Type**: String (36 characters)
- **Source**: ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:R CReq:R CRes:R Erro:C ORes:C RReq:R RRes:R
- **Introduced**: v2.0.0
- **Description**: Universally Unique transaction identifier assigned by the ACS to identify a single transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 205
- **Conditional Rules**:
  - All applicable categories: Required in the Error Message if available (e.g., can be obtained from a message or is being generated).
  - All applicable categories: Required the in ORes message for an ACS receiving an OReq message.

### acsURL

- **Display Name**: ACS URL
- **Type**: String (Variable, maximum 2048)
- **Source**: ACS
- **Channels**: APP, BRW
- **Categories**: PA, NPA
- **Messages**: ARes:C
- **Introduced**: v2.0.0
- **Description**: Fully Qualified URL of the ACS to be used for the challenge. 01-APP—3DS SDK will send the Challenge Request to this URL 02-BRW—3DS Requestor will post the CReq to this URL via the challenge iframe. For App-based, this data element is contained within the ACS Signed Content JWS Object. For Browser-based, this data element is present as its own object.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 207
- **Conditional Rules**:
  - All applicable categories: required when transStatus is one of C

### acsUiType

- **Display Name**: ACS UI Type
- **Type**: String (2 characters)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.1.0
- **Description**: User interface type that the 3DS SDK will render, which includes the specific data mapping and requirements.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 206
- **FAQ qualification** (Applicable app-based protocol versions; App-based CRes; distinguish final from intermediate messages): UI-related elements, including acsUiType, are supplied during the challenge. The final CRes excludes UI-related elements; use Table B.5 for final-message content. [FAQ 31](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: Required except for the Final CRes message
- **Values**:
  - `01`: Text
  - `02`: Single Select
  - `03`: Multi Select
  - `04`: OOB
  - `05`: HTML
  - `06`: HTML OOB
  - `07`: Information
  - `08–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### addrMatch

- **Display Name**: Address Match Indicator
- **Type**: String (1 character)
- **Source**: 3DS Server
- **Channels**: APP, BRW
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.0.0
- **Description**: Indicates whether the Cardholder Shipping Address and Cardholder Billing Address are the same.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 207
- **Values**:
  - `Y`: Shipping Address matches Billing Address
  - `N`: Shipping Address does not match Billing Address

### appIp

- **Display Name**: App IP Address
- **Type**: String (Variable, maximum 45)
- **Source**: 3DS Server
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: External IP address (i.e., the device public IP address) used by the 3DS Requestor App when it connects to the 3DS Requestor environment.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 208
- **Conditional Rules**:
  - All applicable categories: Required unless market or regional mandate restricts sending this information
- **Notes**:
  - IPv4 representation per RFC 791, IPv6 representation per RFC 4291 Section 2.2. Should be the external/public IP address of the device running the 3DS Requestor App—key for ACS risk analysis. *(EMVCo FAQ)*

### authenticationMethod

- **Display Name**: Authentication Method
- **Type**: Array
- **Source**: ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:C RReq:C
- **Introduced**: v2.0.0
- **Description**: Indicates the list of authentication types the Issuer will use to challenge the Cardholder, when in the ARes message or what was used by the ACS when in the RReq message. Note: For 03-3RI, only present for Decoupled Authentication.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 208, 209
- **Conditional Rules**:
  - All applicable categories: required when transStatus is one of C, D
  - All applicable categories: required when transStatus is one of Y, N
- **Values**:
  - `01`: Static Passcode
  - `02`: SMS OTP
  - `03`: Key fob or EMV card reader OTP
  - `04`: App OTP
  - `05`: OTP Other
  - `06`: KBA
  - `07`: OOB Biometrics
  - `08`: OOB Login
  - `09`: OOB Other
  - `10`: Other
  - `11`: Push Confirmation *(v2.2.0)*
  - `12`: Decoupled *(v2.3.1.1)*
  - `13`: WebAuthn *(v2.3.1.1)*
  - `14`: SPC *(v2.3.1.1)*
  - `15`: Behavioural biometrics *(v2.3.1.1)*
  - `16`: Electronic ID *(v2.3.1.1)*
  - `17–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use If SDK Type = 02 and Split-SDK Type/Limited Indicator = Y, a value of 01 or 06 is not valid. [Reserved]

### authenticationValue

- **Display Name**: Authentication Value
- **Type**: String (Variable, maximum 4000)
- **Source**: ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:C RReq:C
- **Introduced**: v2.0.0
- **Description**: Payment System-specific value provided by the ACS or the DS using an algorithm defined by Payment System. Authentication Value may be used to provide proof of authentication.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 210
- **Conditional Rules**:
  - 01-PA: required when transStatus is one of Y, A, I, 02

### billAddrCity

- **Display Name**: Cardholder Billing Address City
- **Type**: String (Variable, maximum 50)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The city of the Cardholder billing address associated with the card used for this purchase.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 219
- **Conditional Rules**:
  - 01-PA: 01-PA: Required unless market or regional mandate restricts sending this information
  - 02-NPA: 02-NPA: Required (if available) unless market or regional mandate restricts sending this information

### billAddrCountry

- **Display Name**: Cardholder Billing Address Country
- **Type**: String (3 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The country of the Cardholder billing address associated with the card used for this purchase.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 220
- **Conditional Rules**:
  - All applicable categories: Required if Cardholder Billing Address State is present
  - 01-PA: 01-PA: Required unless market or regional mandate restricts sending this information
  - 02-NPA: 02-NPA: Required (if available) unless market or regional mandate restricts sending this information
- **Notes**:
  - Encoded per ISO 3166-1 numeric (3 digits). Examples: USA=840, China=156, Germany=276. *(EMVCo FAQ)*

### billAddrLine1

- **Display Name**: Cardholder Billing Address Line 1
- **Type**: String (Variable, maximum 50)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: First line of the street address or equivalent local portion of the Cardholder billing address associated with the card used for this purchase.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 221
- **Conditional Rules**:
  - 01-PA: 01-PA: Required unless market or regional mandate restricts sending this information
  - 02-NPA: 02-NPA: Required (if available) unless market or regional mandate restricts sending this information

### billAddrLine2

- **Display Name**: Cardholder Billing Address Line 2
- **Type**: String (Variable, maximum 50)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Second line of the street address or equivalent local portion of the Cardholder billing address associated with the card used for this purchase.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 221
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### billAddrLine3

- **Display Name**: Cardholder Billing Address Line 3
- **Type**: String (Variable, maximum 50)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.1.0
- **Description**: Third line of the street address or equivalent local portion of the Cardholder billing address associated with the card used for this purchase.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 222
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### billAddrPostCode

- **Display Name**: Cardholder Billing Address Postal Code
- **Type**: String (Variable, maximum 16)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: ZIP or other postal code of the Cardholder billing address associated with the card used for this purchase.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 222
- **Conditional Rules**:
  - 01-PA: 01-PA: Required unless market or regional mandate restricts sending this information
  - 02-NPA: 02-NPA: Required (if available) unless market or regional mandate restricts sending this information

### billAddrState

- **Display Name**: Cardholder Billing Address State
- **Type**: String (Variable, maximum 3)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The state or province of the Cardholder billing address associated with the card used for this purchase.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 223
- **Conditional Rules**:
  - 01-PA: 01-PA: Required unless market or regional mandate restricts sending this information, or State is not applicable for this country
  - 02-NPA: 02-NPA: Required (if available) unless market or regional mandate restricts sending this information, or State is not applicable for this country
- **Notes**:
  - Encoded per ISO 3166-2 subdivision code only (1-3 alphanumeric), not the full ISO code. Examples: California='CA', Shanghai='31', Bavaria='BY'. *(EMVCo FAQ)*

### broadInfo

- **Display Name**: Broadcast Information
- **Type**: Object (Variable, maximum 4096)
- **Source**: 3DS Server, ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O ARes:O
- **Introduced**: v2.1.0
- **Description**: Structured information sent between the 3DS Server, the DS and the ACS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 210
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)

### browserAcceptHeader

- **Display Name**: Browser Accept Headers
- **Type**: String (Variable, maximum 2048)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Exact content of the HTTP accept headers as sent to the 3DS Requestor from the Cardholder Browser.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 211

### browserColorDepth

- **Display Name**: Browser Screen Color Depth
- **Type**: String (1–2 characters; numeric)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Value representing the bit depth of the colour palette for displaying images, in bits per pixel. Obtained from the Cardholder Browser using the screen.colorDepth property. Refer to Section A.6 for more details.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 213
- **Conditional Rules**:
  - All applicable categories: Required if Browser JavaScript Enabled = true
- **Notes**:
  - For device values not on the accepted list, use the closest lower value (e.g., 30→24) to avoid errors. DS may optionally auto-correct. v2.3.1+ accepts any value 1-99. *(EMVCo FAQ)*

### browserIP

- **Display Name**: Browser IP Address
- **Type**: String (Variable, maximum 45)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: IP address of the Browser as returned by the HTTP headers to the 3DS Requestor.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 211
- **Conditional Rules**:
  - All applicable categories: Required unless market or regional mandate restricts sending this information
- **Notes**:
  - IPv4 representation per RFC 791, IPv6 representation per RFC 4291 Section 2.2. Should be the public IP address of the Browser connecting to the 3DS Requestor—key for ACS risk analysis. *(EMVCo FAQ)*

### browserJavaEnabled

- **Display Name**: Browser Java Enabled
- **Type**: Boolean
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Boolean that represents the ability of the Cardholder Browser to execute Java. Value is returned from the navigator.javaEnabled property. Refer to Section A.6 for additional detail.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 212
- **Conditional Rules**:
  - All applicable categories: Required if Browser JavaScript Enabled = true

### browserJavascriptEnabled

- **Display Name**: Browser JavaScript Enabled
- **Type**: Boolean
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.2.0
- **Description**: Boolean that represents the ability of the Cardholder Browser to execute JavaScript. Refer to Section A.6 for additional detail.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 212

### browserLanguage

- **Display Name**: Browser Language
- **Type**: String (Variable, maximum 35)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Value representing the Browser language as defined in IETF BCP47. Returned from navigator.language property. Refer to Section A.6 for additional detail.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 212
- **Conditional Rules**:
  - All applicable categories: Required if Browser JavaScript Enabled = true
- **Notes**:
  - BCP 47 format allows up to 35 characters, but 3DS Server should provide only the main language tag (max 8 characters). *(EMVCo FAQ)*

### browserScreenHeight

- **Display Name**: Browser Screen Height
- **Type**: String (Variable, 1–6 characters;)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Total height of the Cardholder’s screen in pixels. Value is returned from the screen.height property. Refer to Section A.6 for additional detail.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 213
- **Conditional Rules**:
  - All applicable categories: Required if Browser JavaScript Enabled = true

### browserScreenWidth

- **Display Name**: Browser Screen Width
- **Type**: String (Variable, 1–6 characters;)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Total width of the Cardholder’s screen in pixels. Value is returned from the screen.width property. Refer to Section A.6 for additional detail.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 213
- **Conditional Rules**:
  - All applicable categories: Required if Browser JavaScript Enabled = true

### browserTZ

- **Display Name**: Browser Time Zone
- **Type**: String (Variable, 1–5 characters)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Time zone offset in minutes between UTC and the Cardholder Browser local time. Note that the offset is positive if the local time zone is behind UTC and negative if it is ahead.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 214
- **Conditional Rules**:
  - All applicable categories: Required if Browser JavaScript Enabled = true

### browserUserAgent

- **Display Name**: Browser User-Agent
- **Type**: String (Variable, maximum 2048)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Exact content of the HTTP user-agent header.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 214

### cardExpiryDate

- **Display Name**: Card/Token Expiry Date
- **Type**: String (4 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Expiry Date of the PAN or token supplied to the 3DS Requestor by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 217
- **Conditional Rules**:
  - All applicable categories: The requirements for the presence of this field are DS-specific.

### cardRangeData

- **Display Name**: Card Range Data
- **Type**: Array
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: PRes:C
- **Introduced**: v2.0.0
- **Description**: Card range data from the DS indicating the most recent Protocol Versions supported by the ACS, and, optionally, the DS that hosts that range, and, if configured, the ACS URL for the 3DS Method. Additionally, it identifies the 3DS features supported by the ACS, such as Trust List or Decoupled Authentication. There may be as many JSON objects as there are stored card ranges in the DS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 216
- **Conditional Rules**:
  - All applicable categories: Required if the Serial Number has changed in the prior PRes message or is absent in the PReq message AND Not present if the Card Range Data File URL is present

### cardRangeDataDownloadInd

- **Display Name**: Card Range Data Download Indicator
- **Type**: String (1 character)
- **Source**: 3DS Server
- **Channels**: 
- **Categories**: 
- **Messages**: PReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicates if the 3DS Server supports Card Range Data from a file. Note: If present, this field contains the value Y.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 216
- **Conditional Rules**:
  - All applicable categories: Present only if the 3DS Server supports the Card Range Data File download
- **Values**:
  - `Y`: Download supported

### cardRangeDataFileURL

- **Display Name**: Card Range Data File URL
- **Type**: String (Variable, maximum 2048)
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: PRes:C
- **Introduced**: v2.3.1.1
- **Description**: Fully Qualified URL of the DS File containing the Card Range Data for download.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 217
- **Conditional Rules**:
  - All applicable categories: Present only if the 3DS Server and the DS are using the Card Range Data File download

### cardSecurityCode

- **Display Name**: Card Security Code
- **Type**: String (Variable, 3–4 characters,)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Three- or four-digit security code printed on the card.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 217
- **Conditional Rules**:
  - All applicable categories: Conditional based on DS rules

### cardSecurityCodeStatus

- **Display Name**: Card Security Code Status
- **Type**: String (1 character)
- **Source**: ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C ARes:C
- **Introduced**: v2.3.1.1
- **Description**: Enables the communication of Card Security Code Status between the ACS, the DS and the 3DS Requestor
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 217
- **Conditional Rules**:
  - All applicable categories: Conditional based on DS rules
- **Values**:
  - `Y`: Validated
  - `N`: Failed validation
  - `U`: Status unknown, unavailable, or does not apply

### cardSecurityCodeStatusSource

- **Display Name**: Card Security Code Status Source
- **Type**: String (2 characters)
- **Source**: ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C ARes:C
- **Introduced**: v2.3.1.1
- **Description**: This data element will be populated by the system setting Card Security Code Status.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 218
- **Conditional Rules**:
  - All applicable categories: Required if the Card Security Code Status is present
- **Values**:
  - `01`: DS
  - `02`: ACS
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### cardholderInfo

- **Display Name**: Cardholder Information Text
- **Type**: Object (Variable)
- **Source**: ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:C RReq:O
- **Introduced**: v2.1.0
- **Description**: Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction. The Issuer can provide information to Cardholder. For example, “Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx” with optionally the Issuer and Payment System images. Refer to A.20 for UI example.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 225
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: optional when acsDecConInd is one of Y

### cardholderName

- **Display Name**: Cardholder Name
- **Type**: String (Variable, 1–45 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Name of the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 227
- **Conditional Rules**:
  - All applicable categories: Required unless market or regional mandate restricts sending this information
- **Notes**:
  - v2.2.0 requires ASCII only—special characters (á, ë, ï, ö) must be converted to ASCII equivalents (a, e, i, o). v2.3.1+ permits special characters. *(EMVCo FAQ)*

### challengeAddCode

- **Display Name**: Challenge Additional Code
- **Type**: String (1 character)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicates to the ACS that the Cardholder selected the additional choice. Note: If present, this field contains the value Y.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 231
- **Conditional Rules**:
  - All applicable categories: Required for Native UI:
- **Values**:
  - `Y`: Additional choice selected

### challengeAddLabel

- **Display Name**: Challenge Additional Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.3.1.1
- **Description**: UI label for the additional choice button provided by the ACS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 231
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.

### challengeCancel

- **Display Name**: Challenge Cancelation Indicator
- **Type**: String (2 characters)
- **Source**: 3DS SDK, ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: CReq:C RReq:C
- **Introduced**: v2.0.0
- **Description**: Indicator informing the ACS and the DS that the authentication has been cancelled.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 232, 233
- **Conditional Rules**:
  - 01-APP: Required in CReq for 01-APP if the authentication transaction was cancelled by user interaction with the cancellation button in the UI or for other reasons as indicated.
  - All applicable categories: Required in the RReq if the ACS identifies that the authentication transaction was cancelled for reasons as indicated.
- **Values**:
  - `01`: Cardholder selected “Cancel”
  - `02`: Reserved for EMVCo future use (values invalid until defined by EMVCo). [Reserved]
  - `03`: Transaction Timed Out – Decoupled Authentication
  - `04`: Transaction Timed Out at ACS – other timeouts
  - `05`: Transaction Timed Out at ACS – First CReq not received by ACS
  - `06`: Transaction Error
  - `07`: Unknown
  - `08`: Transaction Timed Out at 3DS SDK *(v2.2.0)*
  - `09`: Error Message in response to the CRes message sent by the ACS *(v2.3.1.1)*
  - `10`: Error Message in response to the CReq message received by the ACS *(v2.3.1.1)*
  - `11–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for future DS use [Reserved]

### challengeCompletionInd

- **Display Name**: Challenge Completion Indicator
- **Type**: String (1 character)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:R
- **Introduced**: v2.0.0
- **Description**: Indicator of the state of the ACS challenge cycle and whether the challenge has completed or will require additional messages. Shall be populated in all CRes messages to convey the current state of the transaction. Note: If set to Y, the ACS will populate the Transaction Status in the CRes message.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 233
- **Values**:
  - `Y`: Challenge completed, and no further challenge message exchanges are required
  - `N`: Challenge not completed and additional challenge message exchanges are required

### challengeDataEntry

- **Display Name**: Challenge Data Entry
- **Type**: String (Variable, maximum 45)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.0.0
- **Description**: Contains the data that the Cardholder entered in the Native UI text field. Note: ACS UI Type = 04, 05, 06 and 07 are not supported. Example: " challengeSelectInfo " :[
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 233, 234
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 01, 02, 03
- **Notes**:
  - Contains comma-separated selection keys. v2.2.0 has max 45 chars total. If challengeSelectInfo keys exceed this, Cardholder multi-selection cannot be returned. *(EMVCo FAQ)*

### challengeDataEntryTwo

- **Display Name**: Challenge Data Entry 2
- **Type**: String (Variable, maximum 45)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.3.1.1
- **Description**: Contains the data that the Cardholder entered in the Native UI text field. Note: Supported only for ACS UI Type = 01.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 234, 235
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 01

### challengeEntryBox

- **Display Name**: Challenge Entry Box
- **Type**: Object (Variable)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.3.1.1
- **Description**: Defines the setting of an entry box in the Native UI OTP/Text Template: • Challenge Data Entry Keyboard Type • Challenge Data Entry Autofill • Challenge Data Entry Autofill Type • Challenge Data Entry Length Maximum • Challenge Data Entry Label • Challenge Data Entry Masking • Challenge Data Entry Masking Toggle
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 236
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for conditions.

### challengeEntryBoxTwo

- **Display Name**: Challenge Entry Box 2
- **Type**: Object (Variable)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.3.1.1
- **Description**: Defines the setting of an entry box in the Native UI OTP/Text Template: • Challenge Data Entry Keyboard Type • Challenge Data Entry Autofill • Challenge Data Entry Autofill Type • Challenge Data Entry Length Maximum • Challenge Data Entry Label • Challenge Data Entry Masking • Challenge Data Entry Masking Toggle
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 237
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for conditions.

### challengeErrorReporting

- **Display Name**: Challenge Error Reporting
- **Type**: Object (Variable)
- **Source**: ACS
- **Channels**: APP, BRW
- **Categories**: PA, NPA
- **Messages**: RReq:C
- **Introduced**: v2.3.1.1
- **Description**: Copy of the Erro Message sent or received by the ACS in case of error in the CReq/CRes messages.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 237
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: required when challengeCancel is one of 09, 10

### challengeHTMLDataEntry

- **Display Name**: Challenge HTML Data Entry
- **Type**: String (Variable, maximum 256)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.0.0
- **Description**: Data that the Cardholder entered into the HTML UI. Note: ACS UI Types 01, 02, 03, 04 and 07 are not supported.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 238
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 05, 06

### challengeInfoHeader

- **Display Name**: Challenge Information Header
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Header text that for the challenge information screen that is being presented.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 238
- **FAQ qualification** (2.2.0; App-based CRes, selected native UI template): Table A.1 optionality does not override the UI elements required by Table A.18. Challenge Information Label must be present for the templates discussed; it may contain a single space. [FAQ 26](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.

### challengeInfoLabel

- **Display Name**: Challenge Information Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Text provided to the Cardholder by the ACS/Issuer to specify the expected challenge entry.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 238
- **FAQ qualification** (2.2.0; App-based CRes, selected native UI template): Table A.1 optionality does not override the UI elements required by Table A.18. Challenge Information Label must be present for the templates discussed; it may contain a single space. [FAQ 26](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.

### challengeInfoText

- **Display Name**: Challenge Information Text
- **Type**: String (Variable, maximum 350)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Text provided by the ACS/Issuer to the Cardholder during the Challenge Message exchange.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 239
- **FAQ qualification** (2.2.0; App-based CRes, selected native UI template): Table A.1 optionality does not override the UI elements required by Table A.18. Challenge Information Label must be present for the templates discussed; it may contain a single space. [FAQ 26](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.

### challengeInfoTextIndicator

- **Display Name**: Challenge Information Text Indicator
- **Type**: String (1 character)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.1.0
- **Description**: Indicates when the Issuer/ACS would like a warning icon or similar visual indicator to draw attention to the “Challenge Information Text” that is being displayed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 239
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.
- **Values**:
  - `Y`: Display indicator
  - `N`: Do not display indicator Note: If the field is populated, this information is displayed to the Cardholder.

### challengeNoEntry

- **Display Name**: Challenge No Entry
- **Type**: String
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.2.0
- **Description**: Indicator informing that the Cardholder submits an empty response (no data entered in the UI). Note: If present this field contains the value Y.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 240, 241
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 01, 02, 03
- **Values**:
  - `Y`: No Data Entry

### challengeSelectInfo

- **Display Name**: Challenge Selection Information
- **Type**: Array
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Selection information that will be presented to the Cardholder if the option is single- or multi-select. The variables will be sent in a JSON Array and parsed by the 3DS SDK for display in the user interface. Example: " challengeSelectInfo " :[ {"phon":"Mobile **** **** 321" }, {"mail":"Email a*******g**@g***.com "} ]
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 241
- **FAQ qualification** (2.2.0; App-based CRes, selected native UI template): Table A.1 optionality does not override the UI elements required by Table A.18. Challenge Information Label must be present for the templates discussed; it may contain a single space. [FAQ 26](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.
- **Notes**:
  - v2.2.0 requires total key length ≤45 characters across all options (keys are comma-joined in challengeDataEntry). v2.3.1.1 allows max 8 options with 4-char keys and 45-char values. *(EMVCo FAQ)*

### challengeWindowSize

- **Display Name**: Challenge Window Size
- **Type**: String (2 characters)
- **Source**: 
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: CReq:R
- **Introduced**: v2.0.0
- **Description**: Dimensions of the challenge iframe that has been displayed to the Cardholder. The ACS shall reply with content that is formatted to appropriately render in this iframe to provide the best possible user experience. Preconfigured sizes are width x height in pixels of the challenge iframe displayed in the Cardholder Browser window.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 242
- **Values**:
  - `01`: 250 x 400
  - `02`: 390 x 400
  - `03`: 500 x 600
  - `04`: 600 x 400
  - `05`: Full screen

### defaultSdkType

- **Display Name**: Default-SDK Type
- **Type**: Object (2 characters)
- **Source**: 3DS Server
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicates the characteristics of a Default-SDK. SDK Variant: SDK implementation characteristics Wrapped Indicator: If the Default-SDK is embedded as a wrapped component in the 3DS Requestor App Example: " " defaultSdkType :{ " " " " sdkVariant : 01 , " " " " wrappedInd : Y }
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 243
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: required when sdkType is one of 01

### deviceBindingDataEntry

- **Display Name**: Device Binding Data Entry
- **Type**: String (1 character)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicator provided by the 3DS SDK to the ACS to confirm whether the Cardholder gives consent to bind the device.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 244
- **Conditional Rules**:
  - All applicable categories: Required if • Device Binding information Text was present in the previous CRes message AND • Challenge Cancelation Indicator is not present
- **Values**:
  - `Y`: Consent given to bind device
  - `N`: Consent not given to bind device

### deviceBindingInfoText

- **Display Name**: Device Binding Information Text
- **Type**: String (Variable, maximum 64)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.3.1.1
- **Description**: Text provided by the ACS to the Cardholder during the Device Binding process. Example: • “Would you like to be remembered on this device?”
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 244
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.

### deviceBindingStatus

- **Display Name**: Device Binding Status
- **Type**: String (2 characters)
- **Source**: 3DS Server, DS, ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O ARes:O RReq:O
- **Introduced**: v2.3.1.1
- **Description**: Enables the communication of Device Binding Status between the ACS, the DS and the 3DS Requestor. For bound devices (value = 11–14), Device Binding Status also conveys the type of binding that was performed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 245, 246
- **Values**:
  - `01`: Device is not bound by Cardholder
  - `02`: Not eligible as determined by Issuer
  - `03`: Pending confirmation by Cardholder
  - `04`: Cardholder rejected
  - `05`: Device Binding Status unknown, unavailable, or does not apply
  - `06–10`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `11`: Device is bound by Cardholder (device is bound using hardware / SIM internal to the Consumer Device. For instance, keys stored in a secure element on the device)
  - `12`: Device is bound by Cardholder (device is bound using hardware external to the Consumer Device. For example, an external FIDO Authenticator)
  - `13`: Device is bound by Cardholder (Device is bound using data that includes dynamically generated data and could include a unique device ID)
  - `14`: Device is bound by Cardholder (Device is bound using static device data that has been obtained from the Consumer Device)
  - `15`: Device is bound by Cardholder (Other method)
  - `16–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### deviceBindingStatusSource

- **Display Name**: Device Binding Status Source
- **Type**: String (2 characters)
- **Source**: 3DS Server, ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C ARes:C RReq:C
- **Introduced**: v2.3.1.1
- **Description**: This data element will be populated by the system setting Device Binding Status.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 246
- **Conditional Rules**:
  - All applicable categories: Required if Device Binding Status is present
- **Values**:
  - `01`: 3DS Server
  - `02`: DS
  - `03`: ACS
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### deviceChannel

- **Display Name**: Device Channel
- **Type**: String (2 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Indicates the type of channel interface being used to initiate the transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 247
- **Values**:
  - `01`: App-based (APP)
  - `02`: Browser (BRW)
  - `03`: 3DS Requestor Initiated (3RI) *(v2.2.0)*
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### deviceId

- **Display Name**: Browser User Device ID
- **Type**: String (Variable, maximum 64)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Unique and immutable identifier linked to a device that is consistent across 3DS transactions for the specific user device. Examples: • Hardware Device ID • Platform-calculated device fingerprint Refer to D021 in the SDK Device Information
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 215
- **Conditional Rules**:
  - All applicable categories: Required if available

### deviceInfo

- **Display Name**: Device Information
- **Type**: String (Variable, maximum 64000)
- **Source**: DS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Device information gathered by the 3DS SDK from a Consumer Device. This is JSON name/value pairs that as a whole is Base64url-encoded. This will be populated by the DS as unencrypted data to the ACS obtained from SDK Encrypted Data.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 247
- **Conditional Rules**:
  - All applicable categories: Required between the DS and the ACS, but will not be present from the 3DS Server to the DS

### deviceInfoRecognisedVersion

- **Display Name**: Device Information Recognised Version
- **Type**: String (Variable, minimum 3)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: ARes:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates the highest Data Version of the Device Information supported by the ACS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 248

### deviceRenderOptions

- **Display Name**: Device Rendering Options Supported
- **Type**: Object (Variable)
- **Source**: 3DS Server
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Identifies the SDK Interface and SDK UI Type that the device supports for displaying specific challenge user interfaces within the 3DS SDK. Note: As established in [Req 314], all Device Rendering Options must be supported by the 3DS SDK.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 248
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)

### dsProtocolVersions

- **Display Name**: DS Protocol Versions
- **Type**: Array
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: PRes:R
- **Introduced**: v2.3.1.1
- **Description**: Contains the list of active Protocol Versions supported by the DS. Note: Optional within the Card Range Data (as defined in Table A.6).
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 248

### dsReferenceNumber

- **Display Name**: DS Reference Number
- **Type**: String (Variable, maximum 32)
- **Source**: DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C ARes:R OReq:R
- **Introduced**: v2.0.0
- **Description**: EMVCo-assigned unique identifier to track approved DS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 249
- **Conditional Rules**:
  - All applicable categories: The DS will populate the AReq message with this data element prior to passing to the ACS.

### dsTransID

- **Display Name**: DS Transaction ID
- **Type**: String (36 characters)
- **Source**: DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C ARes:R Erro:C OReq:R ORes:R PRes:R RReq:R RRes:R
- **Introduced**: v2.0.0
- **Description**: Universally unique transaction identifier assigned by the DS to identify a single transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 249
- **Conditional Rules**:
  - All applicable categories: Required in the Error Message if available (e.g., can be obtained from a message or is being generated).

### dsURL

- **Display Name**: DS URL
- **Type**: String (Variable, maximum 2048)
- **Source**: DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: URL of the DS to which the ACS will send the RReq if a challenge occurs. The ACS is responsible for storing this value for later use in the transaction for sending the RReq to the DS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 250
- **Conditional Rules**:
  - All applicable categories: Required between the DS and the ACS, but will not be present from the 3DS Server to the DS

### dsUrlList

- **Display Name**: DS URL List
- **Type**: Array
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: PRes:O
- **Introduced**: v2.3.1.1
- **Description**: List of DS URLs to which the 3DS Server will send the AReq message. The DS optionally provides this list in case there are preferred DS URLs for some countries.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 250

### eci

- **Display Name**: Electronic Commerce Indicator (ECI)
- **Type**: String (2 characters)
- **Source**: ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:C RReq:C
- **Introduced**: v2.0.0
- **Description**: Payment System-specific value provided by the ACS or DS to indicate the results of the attempt to authenticate the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 250
- **Values**:
  - `Payment System-specific`: Value defined by each Payment System

### email

- **Display Name**: Cardholder Email Address
- **Type**: String (Variable, maximum 254)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The email address associated with the account that is either entered by the Cardholder or is on file with the 3DS Requestor.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 223
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### errorCode

- **Display Name**: Error Code
- **Type**: String (3 characters)
- **Source**: 
- **Channels**: 
- **Categories**: 
- **Messages**: Erro:R
- **Introduced**: v2.0.0
- **Description**: Code indicating the type of problem identified in the message.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 250

### errorComponent

- **Display Name**: Error Component
- **Type**: String (1 character)
- **Source**: 
- **Channels**: 
- **Categories**: 
- **Messages**: Erro:R
- **Introduced**: v2.1.0
- **Description**: Code indicating the 3-D Secure component that identified the error.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 251
- **Values**:
  - `C`: 3DS SDK
  - `S`: 3DS Server
  - `D`: DS
  - `A`: ACS

### errorDescription

- **Display Name**: Error Description
- **Type**: String (Variable, maximum 2048)
- **Source**: 
- **Channels**: 
- **Categories**: 
- **Messages**: Erro:R
- **Introduced**: v2.0.0
- **Description**: Text describing the problem identified in the message.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 251

### errorDetail

- **Display Name**: Error Detail
- **Type**: String (Variable, maximum 2048)
- **Source**: 
- **Channels**: 
- **Categories**: 
- **Messages**: Erro:R
- **Introduced**: v2.0.0
- **Description**: Additional detail regarding the problem identified in the message.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 251

### errorMessageType

- **Display Name**: Error Message Type
- **Type**: String (4 characters)
- **Source**: 
- **Channels**: 
- **Categories**: 
- **Messages**: Erro:C
- **Introduced**: v2.1.0
- **Description**: Identifies the Message Type that was identified as erroneous.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 251
- **Conditional Rules**:
  - All applicable categories: Conditional on Message Type being recognisable

### expandInfoLabel

- **Display Name**: Expandable Information Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:O
- **Introduced**: v2.1.0
- **Description**: Label displayed to the Cardholder for the content in Expandable Information Text.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 253

### expandInfoText

- **Display Name**: Expandable Information Text
- **Type**: String (Variable, maximum 256)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:O
- **Introduced**: v2.1.0
- **Description**: Text provided by the Issuer from the ACS to be displayed to the Cardholder for additional information and the format will be an expandable text field.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 253

### homePhone

- **Display Name**: Cardholder Home Phone Number
- **Type**: String (Variable)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The home phone number provided by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 224
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### infoContinueIndicator

- **Display Name**: Information Continuation Indicator
- **Type**: String
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicator notifying the ACS that the Cardholder selected the Information Continuation button in the Information UI template. Note: The Boolean value of true is the only valid response for this field when it is present.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 254
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 07

### infoContinueLabel

- **Display Name**: Information Continuation Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.3.1.1
- **Description**: UI label used for the button that the Cardholder selects in the Information UI template.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 254
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.

### interactionCounter

- **Display Name**: Interaction Counter
- **Type**: String (2 characters)
- **Source**: ACS
- **Channels**: APP, BRW
- **Categories**: PA, NPA
- **Messages**: RReq:C
- **Introduced**: v2.0.0
- **Description**: Indicates the number of authentication cycles (excluding Decoupled Authentication) attempted by the Cardholder. Value to be tracked by the ACS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 256
- **Conditional Rules**:
  - All applicable categories: required when acsDecConInd is one of Y

### issuerImage

- **Display Name**: Issuer Image
- **Type**: String
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Sent in the initial CRes message from the ACS to the 3DS SDK to provide the URL(s) of the Issuer logo or image to be used in the Native UI.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 256
- **Conditional Rules**:
  - All applicable categories: Presence of this field is Payment System- specific.

### mcc

- **Display Name**: Merchant Category Code
- **Type**: String (4 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=O
- **Introduced**: v2.0.0
- **Description**: DS-specific code describing the Merchant's type of business, product or service.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 256
- **Values**:
  - `Payment System-specific`: This value correlates to the Merchant Category Code as defined by each Payment System or DS.

### merchantCountryCode

- **Display Name**: Merchant Country Code
- **Type**: String (3 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=O
- **Introduced**: v2.0.0
- **Description**: Country Code of the Merchant. This value correlates to the Merchant Country Code as defined by each Payment System or DS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 257
- **Conditional Rules**:
  - 02-NPA: Optional but strongly recommended to include for 02-NPA if the Merchant is also the 3DS Requestor

### merchantName

- **Display Name**: Merchant Name
- **Type**: String (Variable, maximum 40)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=O
- **Introduced**: v2.0.0
- **Description**: Merchant name assigned by the Acquirer or Payment System.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 257
- **Conditional Rules**:
  - 02-NPA: Optional but strongly recommended to include for 02-NPA if the Merchant is also the 3DS Requestor

### merchantRiskIndicator

- **Display Name**: Merchant Risk Indicator
- **Type**: Object (Variable)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.0.0
- **Description**: Merchant’s assessment of the level of fraud risk for the specific authentication for both the Cardholder and the authentication being conducted.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 257
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: Optional, but strongly recommended to include.

### messageCategory

- **Display Name**: Message Category
- **Type**: String (2 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R RReq:R
- **Introduced**: v2.0.0
- **Description**: Identifies the category of the message for a specific use case.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 258
- **Values**:
  - `01`: PA
  - `02`: NPA
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### messageExtension

- **Display Name**: Message Extension
- **Type**: Array
- **Source**: 3DS Server, 3DS SDK, ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C ARes:C CReq:C CRes:C OReq:C ORes:C PReq:C PRes:C RReq:C RRes:C
- **Introduced**: v2.0.0
- **Description**: Data necessary to support requirements not otherwise defined in the 3-D Secure message are carried in a Message Extension.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 258
- **Conditional Rules**:
  - All applicable categories: Conditions to be set by each DS.

### messageType

- **Display Name**: Message Type
- **Type**: String (4 characters)
- **Source**: 3DS Server, 3DS SDK, ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R ARes:R CReq:R CRes:R Erro:R OReq:R ORes:R PReq:R PRes:R RReq:R RRes:R
- **Introduced**: v2.0.0
- **Description**: Identifies the type of message that is passed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 259

### messageVersion

- **Display Name**: Message Version Number
- **Type**: String (Variable, 5–8 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R ARes:R CReq:R CRes:R Erro:R OReq:R ORes:R PReq:R PRes:R RReq:R RRes:R
- **Introduced**: v2.0.0
- **Description**: Protocol Version identifier This shall be the Protocol Version Number of the specification used by the system creating this message. The Message Version Number is set by the 3DS Server which originates the protocol with the AReq message. The Message Version Number does not change during a 3DS transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 260

### mobilePhone

- **Display Name**: Cardholder Mobile Phone Number
- **Type**: String (Variable)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The mobile phone number provided by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 226
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### multiTransaction

- **Display Name**: Multi-Transaction
- **Type**: Object (Variable)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.3.1.1
- **Description**: Additional transaction information in case of multiple transactions or Merchants.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 260
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)

### notificationURL

- **Display Name**: Notification URL
- **Type**: String (Variable, maximum 256)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Fully Qualified URL of the system that receives the CRes message or Error Message. The CRes message is posted by the ACS through the Cardholder Browser at the end of the challenge and receipt of the RRes message.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 261

### oobAppLabel

- **Display Name**: OOB App Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Label to be displayed for the link to the OOB App URL. Example: "oobAppLabel": "Open Your Bank App"
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 261
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 04
  - All applicable categories: required when oobAppURLInd is one of 01

### oobAppStatus

- **Display Name**: OOB App Status
- **Type**: String (2 characters)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.3.1.1
- **Description**: Status code indicating the type of problem encountered when using the OOB App URL.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 262
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 04, 06
- **Values**:
  - `01`: Open OOB App URL failed
  - `02–99`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]

### oobAppURL

- **Display Name**: OOB App URL
- **Type**: String (Variable, maximum 2048)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Universal App Link to an Authentication App used in the OOB authentication. The OOB App URL will open the appropriate location within the OOB Authentication App. Refer to Table 1.3 for the Universal App Link definition.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 263
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 04, UI, 06
  - All applicable categories: required when oobAppURLInd is one of 01

### oobAppURLInd

- **Display Name**: OOB App URL Indicator
- **Type**: String (2 characters)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates if the 3DS SDK supports the OOB App URL.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 264
- **Values**:
  - `01`: Supported
  - `02`: Not supported by the device
  - `03`: Not supported by the 3DS Requestor
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use If SDK Type = 02 and Split-SDK Type = 02, the OOB App URL Indicator is set to 02. Note: OOB App URL does not work for the Split-SDK/Browser. [Reserved]

### oobContinue

- **Display Name**: OOB Continuation Indicator
- **Type**: String (2 characters)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.0.0
- **Description**: Indicator notifying the ACS that the Cardholder has selected the OOB Continuation button in an OOB authentication method, or that the 3DS SDK automatically completes without any Cardholder interaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 265
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 04
  - All applicable categories: required when acsUiType is one of 06
- **Values**:
  - `01`: Cardholder clicks the button
  - `02`: Automatic complete
  - `03–99`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]

### oobContinueLabel

- **Display Name**: OOB Continuation Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Label to be used in the UI for the button that the Cardholder selects when they have completed the OOB authentication.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 265
- **FAQ qualification** (2.2.0; App-based CRes, selected native UI template): Table A.1 optionality does not override the UI elements required by Table A.18. Challenge Information Label must be present for the templates discussed; it may contain a single space. [FAQ 26](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 04

### opCategory

- **Display Name**: Operation Category
- **Type**: String (2 characters)
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: OReq:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates the category/type of information.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 266
- **Values**:
  - `01`: General
  - `02`: Operational alert
  - `03`: Public Key Certificate expiry
  - `04`: LOA/AOC expiry
  - `05`: Fraud
  - `06`: Other
  - `07–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### opDescription

- **Display Name**: Operation Description
- **Type**: String (Variable, maximum 20000)
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: OReq:R
- **Introduced**: v2.3.1.1
- **Description**: Describes the reason for the operational communication or the response to an action taken by the recipient.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 266

### opExpDate

- **Display Name**: Operation Expiration Date
- **Type**: String (8 characters)
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: OReq:R
- **Introduced**: v2.3.1.1
- **Description**: The date after which the relevance of the operational information (e.g., certificate expiration dates, SLAs, etc.) expires.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 266

### opPriorTransRef

- **Display Name**: Operation Prior Transaction Reference
- **Type**: Object
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: OReq:O
- **Introduced**: v2.3.1.1
- **Description**: This data element provides additional information enabling the recipient to reference a prior transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 268
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)

### opSeq

- **Display Name**: Operation Sequence
- **Type**: Object
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: OReq:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates the current and total messages in an OReq message sequence. This element seqId: uniquely identifies a message sequence and will remain constant in the sequence of messages. This element seqNum: represents the current message in the sequence. This element seqTotal: represents the total number of messages in the sequence and will remain constant in the sequence of messages.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 269
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)

### opSeverity

- **Display Name**: Operation Severity
- **Type**: String (2 characters)
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: OReq:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates the importance/ severity level of the operational information. Critical = Immediate action to be taken by recipient Major = Major impact; Upcoming action to be taken by recipient Minor = Minor impact; Upcoming action to be taken by recipient Informational = Informational only, with no immediate action by recipient
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 270
- **Values**:
  - `01`: Critical
  - `02`: Major
  - `03`: Minor
  - `04`: Informational
  - `05–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### opStatus

- **Display Name**: Operation Message Status
- **Type**: String (2 characters)
- **Source**: 3DS Server, ACS
- **Channels**: 
- **Categories**: 
- **Messages**: ORes:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates the status of the Operation Request message sequence from the source of the OReq.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 267
- **Values**:
  - `01`: Successfully received messages
  - `02`: Message sequence is broken
  - `03`: Requested action is not supported or not executed by the 3DS Server or ACS when OReq message was received
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### payTokenInd

- **Display Name**: EMV Payment Token Indicator
- **Type**: String
- **Source**: 3DS Server, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: A value of True indicates that the transaction was detokenised prior to being received by the ACS. This data element will be populated by the system residing in the 3-D Secure domain where the detokenisation occurs (i.e., the 3DS Server or the DS). Note: The Boolean value of true is the only valid response for this field when it is present.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 252
- **Conditional Rules**:
  - All applicable categories: Required if there is a detokenisation of an Account Number

### payTokenInfo

- **Display Name**: EMV Payment Token Information
- **Type**: Object (Variable)
- **Source**: 3DS Server, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.3.1.1
- **Description**: Information about detokenised Payment Token.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 252
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)

### payTokenSource

- **Display Name**: EMV Payment Token Source
- **Type**: String (2 characters)
- **Source**: 3DS Server, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.2.0
- **Description**: This data element will be populated by the system residing in the 3-D Secure domain where the detokenisation occurs.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 253
- **Conditional Rules**:
  - All applicable categories: required when payTokenInd is one of true
- **Values**:
  - `01`: 3DS Server
  - `02`: DS
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### payeeOrigin

- **Display Name**: Payee Origin
- **Type**: String (Variable, maximum 2048)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: The origin of the payee that will be provided in the SPC Transaction Data Refer to Secure Payment Confirmation.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 270
- **Conditional Rules**:
  - All applicable categories: required when threeDSRequestorSpcSupport is one of Y

### psImage

- **Display Name**: Payment System Image
- **Type**: Object
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Sent in the initial CRes message from the ACS to the 3DS SDK to provide the URL(s) of the DS or Payment System logo or image to be used in the Native UI.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 270
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: Presence of this field is Payment System- specific.

### purchaseAmount

- **Display Name**: Purchase Amount
- **Type**: String (Variable, maximum 48)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=C
- **Introduced**: v2.0.0
- **Description**: Purchase amount in minor units of currency with all punctuation removed. When used in conjunction with the Purchase Currency Exponent field, proper punctuation can be calculated.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 271
- **Conditional Rules**:
  - 02-NPA: required when threeDSRequestorAuthenticationInd is one of 02, 03, 07, 08, 09
  - 02-NPA: required when threeRIInd is one of 01, 02, 06, 07, 08, 09, 11, 15

### purchaseCurrency

- **Display Name**: Purchase Currency
- **Type**: String (3 characters; numeric)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=C
- **Introduced**: v2.0.0
- **Description**: Currency in which purchase amount is expressed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 271
- **Conditional Rules**:
  - 02-NPA: required when threeDSRequestorAuthenticationInd is one of 02, 03, 07, 08, 09
  - 02-NPA: required when threeRIInd is one of 01, 02, 06, 07, 08, 09, 11, 15

### purchaseDate

- **Display Name**: Purchase Date & Time
- **Type**: String (14 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=C
- **Introduced**: v2.0.0
- **Description**: Date and time of the authentication converted into UTC.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 272
- **Conditional Rules**:
  - 02-NPA: required when threeDSRequestorAuthenticationInd is one of 02, 03, 07, 08, 09
  - 02-NPA: required when threeRIInd is one of 01, 02, 06, 07, 08, 09, 11, 15
- **Notes**:
  - Must be converted to UTC. DS or ACS may respond with Error Code 203 if not in UTC. This also applies to date-related fields in Merchant Risk Indicator. *(EMVCo FAQ)*

### purchaseExponent

- **Display Name**: Purchase Currency Exponent
- **Type**: String (1 character)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:01-PA=R, 02-NPA=C
- **Introduced**: v2.0.0
- **Description**: Minor units of currency as specified in the ISO 4217 currency exponent. Example: • USD = 2 • JPY = 0
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 272
- **Conditional Rules**:
  - 02-NPA: required when threeDSRequestorAuthenticationInd is one of 02, 03, 07, 08, 09
  - 02-NPA: required when threeRIInd is one of 01, 02, 06, 07, 08, 09, 11, 15

### purchaseInstalData

- **Display Name**: Instalment Payment Data
- **Type**: String (Variable, maximum 3)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Indicates the maximum number of authorisations permitted for instalment payments.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 255
- **Conditional Rules**:
  - All applicable categories: required when threeDSRequestorAuthenticationInd is one of 03
  - 03-3RI: required when threeRIInd is one of 02

### readOrder

- **Display Name**: Read Order
- **Type**: String (2 characters)
- **Source**: DS
- **Channels**: 
- **Categories**: 
- **Messages**: PRes:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates the order in which to process the card range records from the PRes message.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 273
- **Values**:
  - `01`: Direct order/FIFO (First In First Out)
  - `02`: Reverse order/LIFO (Last In First Out
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### recurringAmount

- **Display Name**: Recurring Amount
- **Type**: String (Variable, maximum 48)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Recurring amount in minor units of currency with all punctuation removed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 274
- **Conditional Rules**:
  - All applicable categories: required when threeDSRequestorAuthenticationInd is one of 02, 03
  - All applicable categories: required when threeRIInd is one of 01, 02
  - All applicable categories: required when recurringInd is one of 01

### recurringCurrency

- **Display Name**: Recurring Currency
- **Type**: String (3 characters; numeric)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Currency in which the Recurring Amount is expressed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 274
- **Conditional Rules**:
  - All applicable categories: Required if the Recurring Amount is present

### recurringDate

- **Display Name**: Recurring Date
- **Type**: String (8 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Effective date of the new authorised amount following the first/promotional payment in a recurring or instalment transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 275
- **Conditional Rules**:
  - All applicable categories: required when recurringInd is one of 01

### recurringExpiry

- **Display Name**: Recurring Expiry
- **Type**: String (8 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Date after which no further authorisations are performed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 275
- **Conditional Rules**:
  - All applicable categories: Required if there is an end date

### recurringExponent

- **Display Name**: Recurring Currency Exponent
- **Type**: String (1 character; numeric)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Minor units of currency as specified in the ISO 4217 currency exponent. Examples: • USD = 2 • JPY = 0
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 275
- **Conditional Rules**:
  - All applicable categories: Required if the Recurring Amount is present

### recurringFrequency

- **Display Name**: Recurring Frequency
- **Type**: String (Variable, maximum 4)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Indicates the minimum number of days between authorisations for a recurring or instalment transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 276
- **Conditional Rules**:
  - All applicable categories: required when recurringInd is one of 01

### recurringInd

- **Display Name**: Recurring Indicator
- **Type**: Object
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicates whether the recurring or instalment payment has a fixed or variable amount and frequency. The Recurring Indicator object contains: • the Amount Indicator • the Frequency Indicator Example: {"recurringInd":{ "amountInd":"01", "frequencyInd":"02"} }
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 277
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: required when threeDSRequestorAuthenticationInd is one of 02, 03
  - All applicable categories: required when threeRIInd is one of 01, 02

### resendChallenge

- **Display Name**: Resend Challenge Information Code
- **Type**: String (1 character)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.0.0
- **Description**: Indicator to the ACS that the Cardholder selected the Resend Information button.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 278
- **Conditional Rules**:
  - All applicable categories: required when billAddrState is one of Y, UI, 01
- **Values**:
  - `Y`: Resend

### resendInformationLabel

- **Display Name**: Resend Information Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Label to be used in the UI for the button that the Cardholder selects when they would like to have the authentication information resent.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 278
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for inclusion conditions.

### resultsStatus

- **Display Name**: Results Message Status
- **Type**: String (2 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: RRes:R
- **Introduced**: v2.0.0
- **Description**: Indicates the status of the Results Request message from the 3DS Server to provide additional data to the ACS. This will indicate if the message was successfully received for further processing or will be used to provide more detail on why the Challenge could not be completed from the 3DS Client to the ACS.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 279
- **Values**:
  - `01`: RReq received for further processing
  - `02`: CReq not sent to ACS by 3DS Requestor (3DS Server or 3DS Requestor opted out of the challenge)
  - `03`: ARes (Transaction Status = C or D) not delivered to the 3DS Requestor due to technical error
  - `04`: 3DS Server will process Decoupled Authentication in a subsequent authentication
  - `05–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### sdkAppID

- **Display Name**: SDK App ID
- **Type**: String (36 characters)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Universally unique ID created upon all installations of the 3DS Requestor App on a Consumer Device. This will be newly generated and stored by the 3DS SDK for each installation. Note: In case of Split- SDK/Browser, the SDK App ID value is not reliable, and may change for each transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 280

### sdkCounterStoA

- **Display Name**: SDK Counter SDK to ACS
- **Type**: String (3 characters)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:R
- **Introduced**: v2.1.0
- **Description**: Counter used as a security measure in the 3DS SDK to ACS secure channel. Note: The counter is the decimal value equivalent of the byte, encoded as a numeric string.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 280
- **Notes**:
  - In cryptographic functions (Section 6.2), coded as 1 byte counting 0-255. In CReq/CRes messages, transmitted as decimal string padded to 3 digits. Example: byte 0x23 (35 decimal) → '035'. *(EMVCo FAQ)*

### sdkEncData

- **Display Name**: SDK Encrypted Data
- **Type**: String (Variable, maximum 64000)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: JWE Object (represented as a string) as defined in Section 6.2.2.1 containing data encrypted by the 3DS SDK for the DS to decrypt.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 280
- **Conditional Rules**:
  - All applicable categories: Required from the 3DS Server to the DS, but will not be present from the DS to the ACS

### sdkEphemPubKey

- **Display Name**: SDK Ephemeral Public Key (Qc)
- **Type**: Object (Variable, maximum 256)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Public key component of the ephemeral key pair generated by the 3DS SDK and used to establish session keys between the 3DS SDK and ACS. In AReq, this data element is present as its own object. In ARes, this data element is contained within the ACS Signed Content JWS Object. See Section 6.2.3.1 for additional detail.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 281
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: For the ARes message, see ACS Signed Content.

### sdkMaxTimeout

- **Display Name**: SDK Maximum Timeout
- **Type**: String (2 characters)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.1.0
- **Description**: Indicates the maximum amount of time (in minutes) for all exchanges.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 281

### sdkReferenceNumber

- **Display Name**: SDK Reference Number
- **Type**: String (Variable, maximum 32)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Identifies the vendor and version of the 3DS SDK that is used for a specific transaction. The value is assigned by EMVCo when the LOA of the specific 3DS SDK is issued.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 281

### sdkServerSignedContent

- **Display Name**: SDK Server Signed Content
- **Type**: String (Variable)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Contains the JWS object (represented as a string) created by the Split-SDK Server for the AReq message. See Section 6.2.2.3 for details.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 282
- **Conditional Rules**:
  - All applicable categories: required when sdkType is one of 02

### sdkSignatureTimestamp

- **Display Name**: SDK Signature Timestamp
- **Type**: String (14 characters)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Date and time indicating when the 3DS SDK generated the Split-SDK Server Signed Content converted into UTC.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 282
- **Values**:
  - `Date format`: YYYYMMDDHHMMSS
- **Notes**:
  - Conveyed within the sdkServerSignedContent JWS object rather than as a top-level message field. See Section 6.2.2.3.

### sdkTransID

- **Display Name**: SDK Transaction ID
- **Type**: String (36 characters)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:R ARes:R CReq:R CRes:R Erro:C RReq:R RRes:R
- **Introduced**: v2.0.0
- **Description**: Universally unique transaction identifier assigned by the 3DS SDK to identify a single transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 282
- **Conditional Rules**:
  - All applicable categories: Required in the Error Message if available (e.g., can be obtained from a message or is being generated).

### sdkType

- **Display Name**: SDK Type
- **Type**: String (2 characters)
- **Source**: 3DS Server
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates the type of 3DS SDK. This data element provides additional information to the DS and ACS to determine the best approach for handling the transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 283
- **Values**:
  - `01`: Default-SDK
  - `02`: Split-SDK
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### sellerInfo

- **Display Name**: Seller Information
- **Type**: Array
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.3.1.1
- **Description**: Additional transaction information for transactions where Merchants submit transaction details on behalf of another entity, i.e., individual sellers in a marketplace or drivers in a ridesharing platform.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 283

### serialNum

- **Display Name**: Serial Number
- **Type**: String (Variable, maximum 20)
- **Source**: 3DS Server, DS
- **Channels**: 
- **Categories**: 
- **Messages**: PReq:O PRes:C
- **Introduced**: v2.1.0
- **Description**: If present in PReq message, the DS returns Card Range Data that has been updated since the time of the PRes message. If absent, the DS returns all card ranges. If present in the PRes message, indicates the current state of the Card Range Data (the specific value is only meaningful to the DS). The 3DS Server should retain this value for submission in a future PReq message to request only changes that have been made to the Card Range Data since the PRes message was generated. Note: Serial Number is not provided when the DS and the 3DS Server select the Card Range Data File download option.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 284
- **Conditional Rules**:
  - All applicable categories: PRes: Absent if the Card Range Data File URL is present.

### shipAddrCity

- **Display Name**: Cardholder Shipping Address City
- **Type**: String (Variable, maximum 50)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: City portion of the shipping address requested by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 227
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### shipAddrCountry

- **Display Name**: Cardholder Shipping Address Country
- **Type**: String (3 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Country of the shipping address requested by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 227
- **Conditional Rules**:
  - All applicable categories: Required if Cardholder Shipping Address State is present
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information
- **Notes**:
  - Encoded per ISO 3166-1 numeric (3 digits). Examples: USA=840, China=156, Germany=276. *(EMVCo FAQ)*

### shipAddrLine1

- **Display Name**: Cardholder Shipping Address Line 1
- **Type**: String (Variable, maximum 50)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: First line of the street address or equivalent local portion of the shipping address requested by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 228
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### shipAddrLine2

- **Display Name**: Cardholder Shipping Address Line 2
- **Type**: String (Variable, maximum 50)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The second line of the street address or equivalent local portion of the shipping address requested by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 228
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### shipAddrLine3

- **Display Name**: Cardholder Shipping Address Line 3
- **Type**: String (Variable, maximum 50)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.1.0
- **Description**: The third line of the street address or equivalent local portion of the shipping address requested by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 228
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### shipAddrPostCode

- **Display Name**: Cardholder Shipping Address Postal Code
- **Type**: String (Variable, maximum 16)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The ZIP or other postal code of the shipping address requested by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 229
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

### shipAddrState

- **Display Name**: Cardholder Shipping Address State
- **Type**: String (Variable, maximum 3)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The state or province of the shipping address associated with the card being used for this purchase.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 229
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information, or State is not applicable for this country
- **Notes**:
  - Encoded per ISO 3166-2 subdivision code only (1-3 alphanumeric), not the full ISO code. Examples: California='CA', Shanghai='31', Bavaria='BY'. *(EMVCo FAQ)*

### spcIncompInd

- **Display Name**: SPC Incompletion Indicator
- **Type**: String (2 characters)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Reason that the SPC authentication was not completed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 285
- **Conditional Rules**:
  - All applicable categories: Required if the 3DS Requestor attempts to invoke the SPC API and there is an error
- **Values**:
  - `01`: SPC did not run or did not successfully complete
  - `02`: Cardholder cancelled the SPC authentication
  - `03`: SPC timed out
  - `04–99`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]

### spcTransData

- **Display Name**: SPC Transaction Data
- **Type**: Object
- **Source**: ACS, DS
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: ARes:C
- **Introduced**: v2.3.1.1
- **Description**: Information that the 3DS Requestor passes in the SPC API for display in the Smart Modal Window
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 285
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: required when transStatus is one of S

### splitSdkServerID

- **Display Name**: Split-SDK Server ID
- **Type**: String (Variable, maximum 32 characters)
- **Source**: Split-SDK Server
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: DS assigned Split-SDK Server identifier. Each DS can provide a unique ID to each Split-SDK Server on an individual basis.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 285
- **Values**:
  - `DS-specific`: Any individual DS may impose specific formatting and character requirements on the contents of this field.
- **Notes**:
  - Conveyed within the sdkServerSignedContent JWS object rather than as a top-level message field. See Section 6.2.2.3.

### splitSdkType

- **Display Name**: Split-SDK Type
- **Type**: Object (Variable)
- **Source**: 3DS Server
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicates the characteristics of a Split- SDK. Split-SDK Variant: Implementation characteristics of the Split- SDK client Limited Split-SDK Indicator: If the Split-SDK client has limited capabilities Example: " " splitSdkType :{ " " " " sdkVariant : 01 , " " " " limitedInd : Y }
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 286
- **FAQ qualification** (Applicable object-bearing protocol versions; Only when the parent JSON object is present): Evaluate nested presence conditions when the parent object is present. In multiTransaction, merchantList is required when the object is supplied; merchantAmount remains optional. [FAQ 27](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **FAQ qualification** (Applicable object-bearing protocol versions; An optional or conditionally optional field is sent empty): An empty optional field produces error 203 under Req 309. When the empty JSON object contains mandatory data, error 201 may be returned. [FAQ 73](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: required when sdkType is one of 02

### submitAuthenticationLabel

- **Display Name**: Submit Authentication Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:C
- **Introduced**: v2.0.0
- **Description**: Label to be used in the UI for the button that the Cardholder selects when they have completed the authentication. Note: This data element is not used for OOB authentication.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 287
- **FAQ qualification** (2.2.0; App-based CRes, selected native UI template): Table A.1 optionality does not override the UI elements required by Table A.18. Challenge Information Label must be present for the templates discussed; it may contain a single space. [FAQ 26](https://www.emvco.com/specifications/faq-emv-3-d-secure-technical-questions-4/)
- **Conditional Rules**:
  - All applicable categories: required when acsUiType is one of 01, 02, 03

### taxId

- **Display Name**: Tax ID
- **Type**: String (Variable, maximum 45)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Cardholder’s tax identification.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 287
- **Conditional Rules**:
  - All applicable categories: Conditional based on DS rules

### threeDSCompInd

- **Display Name**: 3DS Method Completion Indicator
- **Type**: String (1 character)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.1.0
- **Description**: Indicates whether the 3DS Method successfully completed.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 188
- **Values**:
  - `Y`: Successfully completed
  - `N`: Did not run or did not successfully complete
  - `U`: Unavailable – 3DS Method URL was not present in the PRes message data for the card range associated with the Cardholder Account Number.

### threeDSMethodId

- **Display Name**: 3DS Method ID
- **Type**: String (36 characters)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Contains the 3DS Server Transaction ID used during the previous execution of the 3DS Method.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 188
- **Conditional Rules**:
  - All applicable categories: Required if 3DS Requestor reuses previous 3DS Method execution

### threeDSRequestorAppURL

- **Display Name**: 3DS Requestor App URL
- **Type**: String (Variable, maximum 2048)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.2.0
- **Description**: 3DS Requestor App declaring its URL within the CReq message so that the Authentication App can call the 3DS Requestor App after OOB authentication has occurred. Note: When providing the 3DS Requestor App URL, the 3DS Requestor needs to properly register the URL with the Operating System.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 189
- **Conditional Rules**:
  - All applicable categories: Required in all CReq messages if 3DS Requestor App URL is provided by the 3DS SDK

### threeDSRequestorAppURLInd

- **Display Name**: 3DS Requestor App URL Indicator
- **Type**: String (1 character)
- **Source**: ACS
- **Channels**: APP, BRW
- **Categories**: PA, NPA
- **Messages**: AReq:R ARes:R
- **Introduced**: v2.3.1.1
- **Description**: Indicates whether the OOB Authentication App used by the ACS during a challenge supports the 3DS Requestor App URL.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 189
- **Values**:
  - `Y`: 3DS Requestor App URL is supported by the OOB Authentication App
  - `N`: 3DS Requestor App URL is NOT supported by the OOB Authentication App
  - `01`: Payment transaction
  - `02`: Recurring transaction

### threeDSRequestorAuthenticationInd

- **Display Name**: 3DS Requestor Authentication Indicator
- **Type**: String
- **Source**: 3DS Server
- **Channels**: APP, BRW
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.1.0
- **Description**: This data element provides additional information to the ACS to determine the best approach for handling an authentication request.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 189, 190
- **Values**:
  - `03`: Instalment transaction
  - `04`: Add card
  - `05`: Maintain card
  - `06`: Cardholder verification as part of EMV token ID&V
  - `07`: Billing Agreement
  - `08`: Split shipment
  - `09`: Delayed shipment
  - `10`: Split payment
  - `11–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### threeDSRequestorAuthenticationInfo

- **Display Name**: 3DS Requestor Authentication Information
- **Type**: Array
- **Source**: 3DS Server, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.0.0
- **Description**: Information about how the 3DS Requestor authenticated the Cardholder before or during the transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 190
- **Conditional Rules**:
  - All applicable categories: Optional, recommended to include.

### threeDSRequestorChallengeInd

- **Display Name**: 3DS Requestor Challenge Indicator
- **Type**: Array (1–2 items)
- **Source**: 3DS Server, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.0.0
- **Description**: For 01-PA, a 3DS Requestor may have concerns about the transaction, and request a challenge. For 02-NPA, a challenge may be necessary when adding a new card to a wallet. Note: When providing two preferences, the 3DS Requestor ensures that they are in preference order and are not conflicting. For example, 02 = No challenge requested and 04 = Challenge requested (Mandate).
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 190, 191, 192
- **Default**: If the element is not provided, the expected action is that the ACS would interpret as 01 = No preference.
- **Values**:
  - `01`: No preference
  - `02`: No challenge requested
  - `03`: Challenge requested (3DS Requestor preference)
  - `04`: Challenge requested (Mandate)
  - `05`: No challenge requested (transactional risk analysis is already performed) *(v2.2.0)*
  - `06`: No challenge requested (Data share only) *(v2.2.0)*
  - `07`: No challenge requested (strong consumer authentication is already performed) *(v2.2.0)*
  - `08`: No challenge requested (use Trust List exemption if no challenge required) *(v2.2.0)*
  - `09`: Challenge requested (Trust List prompt requested if challenge required) *(v2.2.0)*
  - `10`: No challenge requested (use low value exemption) *(v2.3.1.1)*
  - `11`: No challenge requested (Secure corporate payment exemption) *(v2.3.1.1)*
  - `12`: Challenge requested (Device Binding prompt requested if challenge required) *(v2.3.1.1)*
  - `13`: Challenge requested (Issuer requested) *(v2.3.1.1)*
  - `14`: Challenge requested (Merchant-initiated transactions) *(v2.3.1.1)*
  - `15–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]
- **Notes**:
  - Value '13' (Challenge requested by Issuer) is used after a 'soft decline' from the Issuer during authorization. *(EMVCo FAQ)*
  - The exemption in transChallengeExemption may differ from what was requested—ACS may apply a different exemption or apply one even if not requested. *(EMVCo FAQ)*

### threeDSRequestorDecMaxTime

- **Display Name**: 3DS Requestor Decoupled Max Time
- **Type**: String (5 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.2.0
- **Description**: 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).
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 192
- **Conditional Rules**:
  - All applicable categories: required when threeDSRequestorDecReqInd is one of Y, F, B
- **Notes**:
  - Must be padded with leading zeros to 5 characters. Example: value 1 → '00001', value 60 → '00060'. *(EMVCo FAQ)*

### threeDSRequestorDecReqInd

- **Display Name**: 3DS Requestor Decoupled Request Indicator
- **Type**: String (1 character)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O
- **Introduced**: v2.2.0
- **Description**: Indicates whether the 3DS Requestor requests the ACS to use Decoupled Authentication and agrees to use Decoupled Authentication if the ACS confirms its use. Note: if the element is not provided, the expected action is for the ACS to interpret as N (Do not use Decoupled Authentication).
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 193
- **Values**:
  - `Y`: Decoupled Authentication is supported and is preferred as a primary challenge method if a challenge is necessary (Transaction Status = D in ARes).
  - `N`: Do not use Decoupled Authentication.
  - `F`: Decoupled Authentication is supported and is to be used only as a fallback challenge method if a challenge is necessary (Transaction Status = D in RReq).
  - `B`: Decoupled Authentication is supported and can be used as a primary or fallback challenge method if a challenge is necessary (Transaction Status = D in either ARes or RReq).

### threeDSRequestorID

- **Display Name**: 3DS Requestor ID
- **Type**: String (Variable, maximum 35)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: DS-defined 3DS Requestor identifier.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 194

### threeDSRequestorName

- **Display Name**: 3DS Requestor Name
- **Type**: String (Variable, maximum 40)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: DS-defined 3DS Requestor name.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 194

### threeDSRequestorPriorAuthenticationInfo

- **Display Name**: 3DS Requestor Prior Transaction Authentication Information
- **Type**: Array
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.1.0
- **Description**: Information about how the 3DS Requestor authenticated the Cardholder as part of a previous 3DS transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 194
- **Conditional Rules**:
  - All applicable categories: Required for 3RI in the case of Decoupled authentication Fallback

### threeDSRequestorSpcSupport

- **Display Name**: 3DS Requestor SPC Support
- **Type**: String
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicate if the 3DS Requestor supports the SPC authentication. Note: If present, this field contains the value Y.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 195
- **Conditional Rules**:
  - All applicable categories: Required if supported by the 3DS Requestor
- **Values**:
  - `Y`: Supported

### threeDSRequestorURL

- **Display Name**: 3DS Requestor URL
- **Type**: String (Variable, maximum 2048)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: The Fully Qualified URL of the 3DS Requestor Website or customer care site. This data element provides additional information to the receiving 3-D Secure system if a problem arises and contact information should be provided.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 195

### threeDSServerOperatorID

- **Display Name**: 3DS Server Operator ID
- **Type**: String (Variable, maximum 32)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C PReq:C
- **Introduced**: v2.1.0
- **Description**: DS-assigned 3DS Server identifier. Each DS can provide a unique ID to each 3DS Server on an individual basis.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 195
- **Conditional Rules**:
  - All applicable categories: Requirements for the presence of this field are DS-specific.

### threeDSServerRefNumber

- **Display Name**: 3DS Server Reference Number
- **Type**: String (Variable, maximum 32)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R ORes:C PReq:R
- **Introduced**: v2.0.0
- **Description**: Unique identifier assigned by the EMVCo Secretariat upon testing and approval.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 196
- **Conditional Rules**:
  - All applicable categories: Required in the ORes message for a 3DS Server receiving an OReq message

### threeDSServerTransID

- **Display Name**: 3DS Server Transaction ID
- **Type**: String (36 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R ARes:R CReq:R CRes:R Erro:C ORes:C PReq:R PRes:R RReq:R RRes:R
- **Introduced**: v2.0.0
- **Description**: Universally unique transaction identifier assigned by the 3DS Server to identify a single transaction.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 196
- **Conditional Rules**:
  - All applicable categories: Required in the Error Message if available (e.g., can be obtained from a message or is being generated).
  - All applicable categories: Required in the ORes message for a 3DS Server receiving an OReq message.

### threeDSServerURL

- **Display Name**: 3DS Server URL
- **Type**: String (Variable, maximum 2048)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.0.0
- **Description**: Fully Qualified URL of the 3DS Server to which the DS will send the RReq message after the challenge has completed. Incorrect formatting will result in a failure to deliver the transaction results via the RReq message.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 197

### threeRIInd

- **Display Name**: 3RI Indicator
- **Type**: String (2 characters)
- **Source**: 3DS Server
- **Channels**: 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:R
- **Introduced**: v2.1.0
- **Description**: Indicates the type of 3RI request. This data element provides additional information to the ACS to determine the best approach for handling a 3RI request.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 197, 198
- **Values**:
  - `01`: Recurring transaction
  - `02`: Instalment transaction
  - `03`: Add card *(v2.2.0)*
  - `04`: Maintain card information *(v2.2.0)*
  - `05`: Account verification *(v2.2.0)*
  - `06`: Split shipment *(v2.2.0)*
  - `07`: Top-up *(v2.2.0)*
  - `08`: Mail Order *(v2.2.0)*
  - `09`: Telephone Order *(v2.2.0)*
  - `10`: Trust List status check *(v2.2.0)*
  - `11`: Other payment *(v2.2.0)*
  - `12`: Billing Agreement *(v2.3.1.1)*
  - `13`: Device Binding status check *(v2.3.1.1)*
  - `14`: Card Security Code status check *(v2.3.1.1)*
  - `15`: Delayed shipment *(v2.3.1.1)*
  - `16`: Split payment *(v2.3.1.1)*
  - `17`: FIDO credential deletion *(v2.3.1.1)*
  - `18`: FIDO credential registration *(v2.3.1.1)*
  - `19`: Decoupled Authentication Fallback *(v2.3.1.1)*
  - `20–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### togglePositionInd

- **Display Name**: Toggle Position Indicator
- **Type**: String (2 characters)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:O
- **Introduced**: v2.3.1.1
- **Description**: Indicates if the Trust List and/or Device Binding prompt should be presented below or above the action buttons (Submit Authentication, OOB App, OOB Continuation, Information Continuation, Challenge Additional).
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 287
- **Values**:
  - `01`: Above the buttons Only present if value = 01 If the Toggle Position Indicator is not present, the Trust List or Device Binding are below the action buttons.
  - `02–99`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]

### transChallengeExemption

- **Display Name**: Transaction Challenge Exemption
- **Type**: String (2 characters)
- **Source**: ACS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:O
- **Introduced**: v2.3.1.1
- **Description**: Exemption applied by the ACS to authenticate the transaction without requesting a challenge.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 288
- **Values**:
  - `05`: Transaction Risk Analysis exemption
  - `08`: Trust List exemption
  - `10`: Low Value exemption
  - `11`: Secure Corporate Payments exemption
  - `79`: No exemption applied
  - `80–99`: Reserved for DS use [Reserved]

### transStatus

- **Display Name**: Transaction Status
- **Type**: String (1 character)
- **Source**: ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:01-PA=R, 02-NPA=C CRes:01-PA=C, 02-NPA=C RReq:01-PA=R, 02-NPA=C
- **Introduced**: v2.0.0
- **Description**: Indicates whether a transaction qualifies as an authenticated transaction or account verification. The Final CRes message can only contain a value of Y or N or D. Transaction Status = C or S is not allowed for Device Channel = 3RI.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 288, 289
- **Conditional Rules**:
  - 01-PA: For 01-PA, see Table A.17 for Transaction Status presence conditions.
  - 02-NPA: For 02-NPA, requirements for the presence and values of Transaction Status are DS-specific.
  - All applicable categories: In CRes, Transaction Status is present only in the Final CRes. For 01-PA it is required then; for 02-NPA its presence is conditional. See Table A.17 and Table B.5.
- **Values**:
  - `Y`: Authentication Verification Successful.
  - `N`: Not Authenticated / Account Not Verified; Transaction denied.
  - `U`: Authentication / Account Verification Could Not Be Performed; Technical or other problem, as indicated in ARes or RReq.
  - `A`: Attempts Processing Performed; Not Authenticated/ Verified, but a proof of attempted authentication/verification is provided.
  - `C`: Challenge Required; Additional authentication is required using the CReq/CRes.
  - `D`: Challenge Required; Decoupled Authentication confirmed. *(v2.2.0)*
  - `R`: Authentication / Account Verification Rejected; Issuer is rejecting authentication/verification and request that authorisation not be attempted.
  - `I`: Informational Only; 3DS Requestor challenge preference acknowledged. *(v2.3.1.1)*
  - `S`: Challenge using SPC
- **Notes**:
  - In CRes, only present in Final CRes with values Y, N, or D only. If received in non-Final CRes, ignore per Req 209. RReq contains full value range for detailed status. *(EMVCo FAQ)*
  - Value 'I' is only valid when threeDSRequestorChallengeInd = 05, 06, or 07. *(EMVCo FAQ)*
  - Value 'C' is not allowed for 03-3RI channel—Cardholder not present. Use 'D' (Decoupled) if challenge needed. *(EMVCo FAQ)*

### transStatusReason

- **Display Name**: Transaction Status Reason
- **Type**: String (2 characters)
- **Source**: ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:C RReq:C
- **Introduced**: v2.0.0
- **Description**: Provides information on why the Transaction Status field has the specified value.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 289, 290, 291
- **Conditional Rules**:
  - 01-PA: required when transStatus is one of N, U, R
  - 02-NPA: For 02-NPA, requirements for the presence and values of Transaction Status are DS-specific.
- **Values**:
  - `01`: Card authentication failed
  - `02`: Unknown device
  - `03`: Unsupported device
  - `04`: Exceeds authentication frequency limit
  - `05`: Expired card
  - `06`: Invalid card number
  - `07`: Invalid transaction
  - `08`: No card record
  - `09`: Security failure
  - `10`: Stolen card
  - `11`: Suspected fraud
  - `12`: Transaction not permitted to Cardholder
  - `13`: Cardholder not enrolled in service
  - `14`: Transaction timed out at the ACS
  - `15`: Low confidence
  - `16`: Medium confidence
  - `17`: High confidence
  - `18`: Very high confidence
  - `19`: Exceeds ACS maximum challenges
  - `20`: Non-Payment transaction not supported
  - `21`: 3RI transaction not supported
  - `22`: ACS technical issue *(v2.2.0)*
  - `23`: Decoupled Authentication required by ACS but not requested by 3DS Requestor *(v2.2.0)*
  - `24`: 3DS Requestor Decoupled Max Expiry Time exceeded *(v2.2.0)*
  - `25`: Decoupled Authentication was provided insufficient time to authenticate Cardholder. ACS will not make attempt *(v2.2.0)*
  - `26`: Authentication attempted but not performed by the Cardholder *(v2.2.0)*
  - `27`: Preferred Authentication Method not supported *(v2.3.1.1)*
  - `28`: Validation of content security policy failed *(v2.3.1.1)*
  - `29`: Authentication attempted but not completed by the Cardholder. Fall back to Decoupled Authentication *(v2.3.1.1)*
  - `30`: Authentication completed successfully but additional authentication of the Cardholder required. Reinitiate as Decoupled Authentication *(v2.3.1.1)*
  - `31–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### transStatusReasonInfo

- **Display Name**: Transaction Status Reason Information
- **Type**: String (Variable, maximum 256)
- **Source**: ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: ARes:O RReq:O
- **Introduced**: v2.3.1.1
- **Description**: Provides additional information on the Transaction Status Reason.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 292

### transType

- **Display Name**: Transaction Type
- **Type**: String (2 characters)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: Identifies the type of transaction being authenticated.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 292
- **Conditional Rules**:
  - All applicable categories: This field is required in some markets (e.g., for Merchants in Brazil). Otherwise, optional.
- **Values**:
  - `01`: Goods/ Service Purchase
  - `03`: Check Acceptance
  - `10`: Account Funding
  - `11`: Quasi-Cash Transaction
  - `28`: Prepaid Activation and Load Note: Values derived from ISO 8583-1.

### trustListDataEntry

- **Display Name**: Trust List Data Entry
- **Type**: String (1 character)
- **Source**: 3DS SDK
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CReq:C
- **Introduced**: v2.3.1.1
- **Description**: Indicator provided by the 3DS SDK to the ACS to confirm whether the Cardholder gives consent to Trust List.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 293
- **Conditional Rules**:
  - All applicable categories: Required if • Trust List information Text was present in the preceding CRes message AND • Challenge Cancelation Indicator is not present
- **Values**:
  - `Y`: Consent given to Trust List
  - `N`: Consent not given to Trust List Note: If the Cardholder action changes the default value, then the value = Y. Otherwise the value = N.

### trustListInfoText

- **Display Name**: Trust List Information Text
- **Type**: String (Variable, maximum 64)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:O
- **Introduced**: v2.3.1.1
- **Description**: Text provided by the ACS to the Cardholder during a Trust List transaction. Example: • “Would you like to add this Merchant to your Trust List?”
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 293
- **Conditional Rules**:
  - All applicable categories: See Table A.20 for presence conditions.

### trustListStatus

- **Display Name**: Trust List Status
- **Type**: String (1 character)
- **Source**: 3DS Server, ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:O ARes:O RReq:O
- **Introduced**: v2.3.1.1
- **Description**: Enables the communication of trust list status between the ACS, the DS and the 3DS Requestor.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 294
- **Values**:
  - `Y`: 3DS Requestor is Trust Listed by Cardholder
  - `N`: 3DS Requestor is not Trust Listed by Cardholder
  - `E`: Not eligible as determined by Issuer
  - `P`: Pending confirmation by Cardholder
  - `R`: Cardholder rejected
  - `U`: Trust List status unknown, unavailable, or does not apply Note: Valid values in the AReq message are Y or N

### trustListStatusSource

- **Display Name**: Trust List Status Source
- **Type**: String (2 characters)
- **Source**: 3DS Server, ACS, DS
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C ARes:C RReq:C
- **Introduced**: v2.3.1.1
- **Description**: This data element will be populated by the system setting Trust List Status.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 294
- **Conditional Rules**:
  - All applicable categories: Required if the Trust List Status is present
- **Values**:
  - `01`: 3DS Server
  - `02`: DS
  - `03`: ACS
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### userId

- **Display Name**: Browser User ID
- **Type**: String (Variable, maximum 64)
- **Source**: 3DS Server
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.3.1.1
- **Description**: Identifier of the transacting user’s Browser Account ID. This identifier is a unique immutable hash of the user’s account identifier for the given Browser, provided as a string. Note: Cardholders may have more than one account on a given Browser. Refer to D026 in the SDK Device Information
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 215
- **Conditional Rules**:
  - All applicable categories: Required if available

### webAuthnCredList

- **Display Name**: WebAuthn Credential List
- **Type**: Array (Variable, maximum)
- **Source**: ACS
- **Channels**: BRW
- **Categories**: PA, NPA
- **Messages**: ARes:C
- **Introduced**: v2.3.1.1
- **Description**: List of credential IDs registered for the Cardholder Account Number.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 295
- **Conditional Rules**:
  - All applicable categories: required when transStatus is one of S

### whyInfoLabel

- **Display Name**: Why Information Label
- **Type**: String (Variable, maximum 45)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:O
- **Introduced**: v2.1.0
- **Description**: Label to be displayed to the Cardholder for the “why” information section.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 295

### whyInfoText

- **Display Name**: Why Information Text
- **Type**: String (Variable, maximum 256)
- **Source**: ACS
- **Channels**: APP
- **Categories**: PA, NPA
- **Messages**: CRes:O
- **Introduced**: v2.1.0
- **Description**: Text provided by the Issuer to be displayed to the Cardholder to explain why the Cardholder is being asked to perform the authentication task.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 296

### workPhone

- **Display Name**: Cardholder Work Phone Number
- **Type**: String (Variable)
- **Source**: 3DS Server
- **Channels**: APP, BRW, 3RI
- **Categories**: PA, NPA
- **Messages**: AReq:C
- **Introduced**: v2.0.0
- **Description**: The work phone number provided by the Cardholder.
- **Source**: EMV_3DS_CoreSpec_v2.3.1.1_20230530.pdf, Table A.1, PDF pages 230
- **Conditional Rules**:
  - All applicable categories: Required (if available) unless market or regional mandate restricts sending this information

---

## Enumerated Values Reference

### acctType

*Account Type*

  - `01`: Not applicable
  - `02`: Credit
  - `03`: Debit
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: DS or Payment System-specific

### acquirerCountryCodeSource

*Acquirer Country Code Source*

  - `01`: 3DS Server
  - `02`: DS
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### acsChallengeMandated

*ACS Challenge Mandated Indicator*

  - `Y`: Challenge is mandated
  - `N`: Challenge is not mandated

### acsDecConInd

*ACS Decoupled Confirmation Indicator*

  - `Y`: Confirms Decoupled Authentication will be used
  - `N`: Decoupled Authentication will not be used Note: if 3DS Requestor Decoupled Request Indicator = N, a value of Y cannot be returned in the ACS Decoupled Confirmation Indicator. Note: if Transaction Status = D, a value of N is not valid.

### acsUiType

*ACS UI Type*

  - `01`: Text
  - `02`: Single Select
  - `03`: Multi Select
  - `04`: OOB
  - `05`: HTML
  - `06`: HTML OOB
  - `07`: Information
  - `08–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### addrMatch

*Address Match Indicator*

  - `Y`: Shipping Address matches Billing Address
  - `N`: Shipping Address does not match Billing Address

### authenticationMethod

*Authentication Method*

  - `01`: Static Passcode
  - `02`: SMS OTP
  - `03`: Key fob or EMV card reader OTP
  - `04`: App OTP
  - `05`: OTP Other
  - `06`: KBA
  - `07`: OOB Biometrics
  - `08`: OOB Login
  - `09`: OOB Other
  - `10`: Other
  - `11`: Push Confirmation *(v2.2.0)*
  - `12`: Decoupled *(v2.3.1.1)*
  - `13`: WebAuthn *(v2.3.1.1)*
  - `14`: SPC *(v2.3.1.1)*
  - `15`: Behavioural biometrics *(v2.3.1.1)*
  - `16`: Electronic ID *(v2.3.1.1)*
  - `17–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use If SDK Type = 02 and Split-SDK Type/Limited Indicator = Y, a value of 01 or 06 is not valid. [Reserved]

### cardRangeDataDownloadInd

*Card Range Data Download Indicator*

  - `Y`: Download supported

### cardSecurityCodeStatus

*Card Security Code Status*

  - `Y`: Validated
  - `N`: Failed validation
  - `U`: Status unknown, unavailable, or does not apply

### cardSecurityCodeStatusSource

*Card Security Code Status Source*

  - `01`: DS
  - `02`: ACS
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### challengeAddCode

*Challenge Additional Code*

  - `Y`: Additional choice selected

### challengeCancel

*Challenge Cancelation Indicator*

  - `01`: Cardholder selected “Cancel”
  - `02`: Reserved for EMVCo future use (values invalid until defined by EMVCo). [Reserved]
  - `03`: Transaction Timed Out – Decoupled Authentication
  - `04`: Transaction Timed Out at ACS – other timeouts
  - `05`: Transaction Timed Out at ACS – First CReq not received by ACS
  - `06`: Transaction Error
  - `07`: Unknown
  - `08`: Transaction Timed Out at 3DS SDK *(v2.2.0)*
  - `09`: Error Message in response to the CRes message sent by the ACS *(v2.3.1.1)*
  - `10`: Error Message in response to the CReq message received by the ACS *(v2.3.1.1)*
  - `11–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for future DS use [Reserved]

### challengeCompletionInd

*Challenge Completion Indicator*

  - `Y`: Challenge completed, and no further challenge message exchanges are required
  - `N`: Challenge not completed and additional challenge message exchanges are required

### challengeInfoTextIndicator

*Challenge Information Text Indicator*

  - `Y`: Display indicator
  - `N`: Do not display indicator Note: If the field is populated, this information is displayed to the Cardholder.

### challengeNoEntry

*Challenge No Entry*

  - `Y`: No Data Entry

### challengeWindowSize

*Challenge Window Size*

  - `01`: 250 x 400
  - `02`: 390 x 400
  - `03`: 500 x 600
  - `04`: 600 x 400
  - `05`: Full screen

### deviceBindingDataEntry

*Device Binding Data Entry*

  - `Y`: Consent given to bind device
  - `N`: Consent not given to bind device

### deviceBindingStatus

*Device Binding Status*

  - `01`: Device is not bound by Cardholder
  - `02`: Not eligible as determined by Issuer
  - `03`: Pending confirmation by Cardholder
  - `04`: Cardholder rejected
  - `05`: Device Binding Status unknown, unavailable, or does not apply
  - `06–10`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `11`: Device is bound by Cardholder (device is bound using hardware / SIM internal to the Consumer Device. For instance, keys stored in a secure element on the device)
  - `12`: Device is bound by Cardholder (device is bound using hardware external to the Consumer Device. For example, an external FIDO Authenticator)
  - `13`: Device is bound by Cardholder (Device is bound using data that includes dynamically generated data and could include a unique device ID)
  - `14`: Device is bound by Cardholder (Device is bound using static device data that has been obtained from the Consumer Device)
  - `15`: Device is bound by Cardholder (Other method)
  - `16–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### deviceBindingStatusSource

*Device Binding Status Source*

  - `01`: 3DS Server
  - `02`: DS
  - `03`: ACS
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### deviceChannel

*Device Channel*

  - `01`: App-based (APP)
  - `02`: Browser (BRW)
  - `03`: 3DS Requestor Initiated (3RI) *(v2.2.0)*
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### eci

*Electronic Commerce Indicator (ECI)*

  - `Payment System-specific`: Value defined by each Payment System

### errorComponent

*Error Component*

  - `C`: 3DS SDK
  - `S`: 3DS Server
  - `D`: DS
  - `A`: ACS

### mcc

*Merchant Category Code*

  - `Payment System-specific`: This value correlates to the Merchant Category Code as defined by each Payment System or DS.

### messageCategory

*Message Category*

  - `01`: PA
  - `02`: NPA
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### oobAppStatus

*OOB App Status*

  - `01`: Open OOB App URL failed
  - `02–99`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]

### oobAppURLInd

*OOB App URL Indicator*

  - `01`: Supported
  - `02`: Not supported by the device
  - `03`: Not supported by the 3DS Requestor
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use If SDK Type = 02 and Split-SDK Type = 02, the OOB App URL Indicator is set to 02. Note: OOB App URL does not work for the Split-SDK/Browser. [Reserved]

### oobContinue

*OOB Continuation Indicator*

  - `01`: Cardholder clicks the button
  - `02`: Automatic complete
  - `03–99`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]

### opCategory

*Operation Category*

  - `01`: General
  - `02`: Operational alert
  - `03`: Public Key Certificate expiry
  - `04`: LOA/AOC expiry
  - `05`: Fraud
  - `06`: Other
  - `07–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### opSeverity

*Operation Severity*

  - `01`: Critical
  - `02`: Major
  - `03`: Minor
  - `04`: Informational
  - `05–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### opStatus

*Operation Message Status*

  - `01`: Successfully received messages
  - `02`: Message sequence is broken
  - `03`: Requested action is not supported or not executed by the 3DS Server or ACS when OReq message was received
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### payTokenSource

*EMV Payment Token Source*

  - `01`: 3DS Server
  - `02`: DS
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### readOrder

*Read Order*

  - `01`: Direct order/FIFO (First In First Out)
  - `02`: Reverse order/LIFO (Last In First Out
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### resendChallenge

*Resend Challenge Information Code*

  - `Y`: Resend

### resultsStatus

*Results Message Status*

  - `01`: RReq received for further processing
  - `02`: CReq not sent to ACS by 3DS Requestor (3DS Server or 3DS Requestor opted out of the challenge)
  - `03`: ARes (Transaction Status = C or D) not delivered to the 3DS Requestor due to technical error
  - `04`: 3DS Server will process Decoupled Authentication in a subsequent authentication
  - `05–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### sdkSignatureTimestamp

*SDK Signature Timestamp*

  - `Date format`: YYYYMMDDHHMMSS

### sdkType

*SDK Type*

  - `01`: Default-SDK
  - `02`: Split-SDK
  - `03–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### spcIncompInd

*SPC Incompletion Indicator*

  - `01`: SPC did not run or did not successfully complete
  - `02`: Cardholder cancelled the SPC authentication
  - `03`: SPC timed out
  - `04–99`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]

### splitSdkServerID

*Split-SDK Server ID*

  - `DS-specific`: Any individual DS may impose specific formatting and character requirements on the contents of this field.

### threeDSCompInd

*3DS Method Completion Indicator*

  - `Y`: Successfully completed
  - `N`: Did not run or did not successfully complete
  - `U`: Unavailable – 3DS Method URL was not present in the PRes message data for the card range associated with the Cardholder Account Number.

### threeDSRequestorAppURLInd

*3DS Requestor App URL Indicator*

  - `Y`: 3DS Requestor App URL is supported by the OOB Authentication App
  - `N`: 3DS Requestor App URL is NOT supported by the OOB Authentication App
  - `01`: Payment transaction
  - `02`: Recurring transaction

### threeDSRequestorAuthenticationInd

*3DS Requestor Authentication Indicator*

  - `03`: Instalment transaction
  - `04`: Add card
  - `05`: Maintain card
  - `06`: Cardholder verification as part of EMV token ID&V
  - `07`: Billing Agreement
  - `08`: Split shipment
  - `09`: Delayed shipment
  - `10`: Split payment
  - `11–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### threeDSRequestorChallengeInd

*3DS Requestor Challenge Indicator*

  - `01`: No preference
  - `02`: No challenge requested
  - `03`: Challenge requested (3DS Requestor preference)
  - `04`: Challenge requested (Mandate)
  - `05`: No challenge requested (transactional risk analysis is already performed) *(v2.2.0)*
  - `06`: No challenge requested (Data share only) *(v2.2.0)*
  - `07`: No challenge requested (strong consumer authentication is already performed) *(v2.2.0)*
  - `08`: No challenge requested (use Trust List exemption if no challenge required) *(v2.2.0)*
  - `09`: Challenge requested (Trust List prompt requested if challenge required) *(v2.2.0)*
  - `10`: No challenge requested (use low value exemption) *(v2.3.1.1)*
  - `11`: No challenge requested (Secure corporate payment exemption) *(v2.3.1.1)*
  - `12`: Challenge requested (Device Binding prompt requested if challenge required) *(v2.3.1.1)*
  - `13`: Challenge requested (Issuer requested) *(v2.3.1.1)*
  - `14`: Challenge requested (Merchant-initiated transactions) *(v2.3.1.1)*
  - `15–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### threeDSRequestorDecReqInd

*3DS Requestor Decoupled Request Indicator*

  - `Y`: Decoupled Authentication is supported and is preferred as a primary challenge method if a challenge is necessary (Transaction Status = D in ARes).
  - `N`: Do not use Decoupled Authentication.
  - `F`: Decoupled Authentication is supported and is to be used only as a fallback challenge method if a challenge is necessary (Transaction Status = D in RReq).
  - `B`: Decoupled Authentication is supported and can be used as a primary or fallback challenge method if a challenge is necessary (Transaction Status = D in either ARes or RReq).

### threeDSRequestorSpcSupport

*3DS Requestor SPC Support*

  - `Y`: Supported

### threeRIInd

*3RI Indicator*

  - `01`: Recurring transaction
  - `02`: Instalment transaction
  - `03`: Add card *(v2.2.0)*
  - `04`: Maintain card information *(v2.2.0)*
  - `05`: Account verification *(v2.2.0)*
  - `06`: Split shipment *(v2.2.0)*
  - `07`: Top-up *(v2.2.0)*
  - `08`: Mail Order *(v2.2.0)*
  - `09`: Telephone Order *(v2.2.0)*
  - `10`: Trust List status check *(v2.2.0)*
  - `11`: Other payment *(v2.2.0)*
  - `12`: Billing Agreement *(v2.3.1.1)*
  - `13`: Device Binding status check *(v2.3.1.1)*
  - `14`: Card Security Code status check *(v2.3.1.1)*
  - `15`: Delayed shipment *(v2.3.1.1)*
  - `16`: Split payment *(v2.3.1.1)*
  - `17`: FIDO credential deletion *(v2.3.1.1)*
  - `18`: FIDO credential registration *(v2.3.1.1)*
  - `19`: Decoupled Authentication Fallback *(v2.3.1.1)*
  - `20–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### togglePositionInd

*Toggle Position Indicator*

  - `01`: Above the buttons Only present if value = 01 If the Toggle Position Indicator is not present, the Trust List or Device Binding are below the action buttons.
  - `02–99`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]

### transChallengeExemption

*Transaction Challenge Exemption*

  - `05`: Transaction Risk Analysis exemption
  - `08`: Trust List exemption
  - `10`: Low Value exemption
  - `11`: Secure Corporate Payments exemption
  - `79`: No exemption applied
  - `80–99`: Reserved for DS use [Reserved]

### transStatus

*Transaction Status*

  - `Y`: Authentication Verification Successful.
  - `N`: Not Authenticated / Account Not Verified; Transaction denied.
  - `U`: Authentication / Account Verification Could Not Be Performed; Technical or other problem, as indicated in ARes or RReq.
  - `A`: Attempts Processing Performed; Not Authenticated/ Verified, but a proof of attempted authentication/verification is provided.
  - `C`: Challenge Required; Additional authentication is required using the CReq/CRes.
  - `D`: Challenge Required; Decoupled Authentication confirmed. *(v2.2.0)*
  - `R`: Authentication / Account Verification Rejected; Issuer is rejecting authentication/verification and request that authorisation not be attempted.
  - `I`: Informational Only; 3DS Requestor challenge preference acknowledged. *(v2.3.1.1)*
  - `S`: Challenge using SPC

### transStatusReason

*Transaction Status Reason*

  - `01`: Card authentication failed
  - `02`: Unknown device
  - `03`: Unsupported device
  - `04`: Exceeds authentication frequency limit
  - `05`: Expired card
  - `06`: Invalid card number
  - `07`: Invalid transaction
  - `08`: No card record
  - `09`: Security failure
  - `10`: Stolen card
  - `11`: Suspected fraud
  - `12`: Transaction not permitted to Cardholder
  - `13`: Cardholder not enrolled in service
  - `14`: Transaction timed out at the ACS
  - `15`: Low confidence
  - `16`: Medium confidence
  - `17`: High confidence
  - `18`: Very high confidence
  - `19`: Exceeds ACS maximum challenges
  - `20`: Non-Payment transaction not supported
  - `21`: 3RI transaction not supported
  - `22`: ACS technical issue *(v2.2.0)*
  - `23`: Decoupled Authentication required by ACS but not requested by 3DS Requestor *(v2.2.0)*
  - `24`: 3DS Requestor Decoupled Max Expiry Time exceeded *(v2.2.0)*
  - `25`: Decoupled Authentication was provided insufficient time to authenticate Cardholder. ACS will not make attempt *(v2.2.0)*
  - `26`: Authentication attempted but not performed by the Cardholder *(v2.2.0)*
  - `27`: Preferred Authentication Method not supported *(v2.3.1.1)*
  - `28`: Validation of content security policy failed *(v2.3.1.1)*
  - `29`: Authentication attempted but not completed by the Cardholder. Fall back to Decoupled Authentication *(v2.3.1.1)*
  - `30`: Authentication completed successfully but additional authentication of the Cardholder required. Reinitiate as Decoupled Authentication *(v2.3.1.1)*
  - `31–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]

### transType

*Transaction Type*

  - `01`: Goods/ Service Purchase
  - `03`: Check Acceptance
  - `10`: Account Funding
  - `11`: Quasi-Cash Transaction
  - `28`: Prepaid Activation and Load Note: Values derived from ISO 8583-1.

### trustListDataEntry

*Trust List Data Entry*

  - `Y`: Consent given to Trust List
  - `N`: Consent not given to Trust List Note: If the Cardholder action changes the default value, then the value = Y. Otherwise the value = N.

### trustListStatus

*Trust List Status*

  - `Y`: 3DS Requestor is Trust Listed by Cardholder
  - `N`: 3DS Requestor is not Trust Listed by Cardholder
  - `E`: Not eligible as determined by Issuer
  - `P`: Pending confirmation by Cardholder
  - `R`: Cardholder rejected
  - `U`: Trust List status unknown, unavailable, or does not apply Note: Valid values in the AReq message are Y or N

### trustListStatusSource

*Trust List Status Source*

  - `01`: 3DS Server
  - `02`: DS
  - `03`: ACS
  - `04–79`: Reserved for EMVCo future use (values invalid until defined by EMVCo) [Reserved]
  - `80–99`: Reserved for DS use [Reserved]
