diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index b3df063..81c83fb 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -12,7 +12,7 @@ jobs: run: | mkdir build chmod 777 build - docker run --rm -v $PWD:/opt -w /opt -e USER_ID=$UID ddidier/sphinx-doc:2.2.1-1 sphinx-build -b html source build + docker run --rm -v $PWD:/opt -w /opt -e USER_ID=$UID ddidier/sphinx-doc:7.1.2-1 sphinx-build -b html source build - name: Install AWS Cli run: pip install awscli diff --git a/README.md b/README.md index ba4cc3c..4995aa3 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,10 @@ Comments, pull requests and general feedback is welcome from anyone. The 3-D Secure v2 specification is defined by EMVCo, their list of 3-D Secure v2 documentation can be found [on their documentation -page](https://www.emvco.com/document-search/?action=search_documents&publish_date=&emvco_document_version=&emvco_document_book=&px_search=&emvco_document_technology%5B%5D=3-d-secure). +page](https://www.emvco.com/specifications/?tax%5Bspecifications_categories%5D%5B32%5D%5B%5D=84&tax%5Bspecifications_categories%5D%5B33%5D%5B%5D=447). -Specifically, the primary documentation can be found in [EMV® 3-D Secure -Protocol and Core Functions Specification.](https://www.emvco.com/wp-content/uploads/documents/EMVCo_3DS_Spec_v220_122018.pdf) +Specifically, the primary documentation can be found in named "EMV® 3-D Secure +Protocol and Core Functions Specification". The spec is currently at version 2.2.0. @@ -32,7 +32,7 @@ The spec is currently at version 2.2.0. The documentation is currently generated by Sphinx. It can be generated locally with: - docker run --rm -v $PWD:/opt -w /opt -e USER_ID=$UID ddidier/sphinx-doc:4.1.2-2 sphinx-build -b html source build + docker run --rm -v $PWD:/opt -w /opt -e USER_ID=$UID ddidier/sphinx-doc:7.1.2-1 sphinx-build -b html source build The generated documentation is then rooted in `build/index.html`. diff --git a/source/3dsmethod.rst b/source/3dsmethod.rst index e08eca6..118f27d 100644 --- a/source/3dsmethod.rst +++ b/source/3dsmethod.rst @@ -17,7 +17,7 @@ If `3DS Method URL`_ is included in the :ref:`preauth-usage` response, the 3DS method *must* be invoked as explained in this guide. If ``threeDSMethodURL`` *is not* included in the ``/preauth`` response (ref. -:ref:`2.1.0 `, :ref:`2.1.0 `), +:ref:`2.1.0 `, :ref:`2.2.0 `, :ref:`2.3.1 `), continue with the :ref:`auth-usage` and set `3DS Completion indicator `_ to ``"U"``, to indicate that the 3DS Method was not available. diff --git a/source/_static/acctinfo.html b/source/_static/acctinfo.html index eeab29e..6012e74 100644 --- a/source/_static/acctinfo.html +++ b/source/_static/acctinfo.html @@ -342,6 +342,38 @@ categories="" channels="" class="row-even attribute-header" + id="attr-AcctInfo-chAccReqID"> +
+ chAccReqID +
+
string
+ +
+
+
+
Optional
+
+
+ Max length: + 64 +
+
+
+
+
+ The 3DS Requestor assigned account identifier of the transacting + Cardholder. +
+
+
+
+
nbPurchaseAccount
string
-
+
Optional
@@ -382,7 +414,7 @@
-
+
Optional
@@ -421,7 +453,7 @@
-
+
Optional
@@ -497,7 +529,7 @@
-
+
Optional
@@ -537,7 +569,7 @@
-
+
Optional
@@ -571,7 +603,7 @@
-
+
Optional
@@ -640,7 +672,7 @@
-
+
Optional
@@ -695,7 +727,7 @@
-
+
Optional
@@ -750,7 +782,7 @@
-
+
Optional
@@ -792,7 +824,7 @@
-
+
Optional
diff --git a/source/_static/areq_231.html b/source/_static/areq_231.html new file mode 100644 index 0000000..8456f0f --- /dev/null +++ b/source/_static/areq_231.html @@ -0,0 +1,8301 @@ +
+
+ +
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 64 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Additional information about the account optionally provided by the + 3DS Requestor. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ acctInfo + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Additional information about the Cardholder's account provided by the + 3DS Requestor. +
+
+
+
+
+
+ acctNumber + +
+
string
+
+
+
+
+
+
Required
+
+
+ Regexp: + ^[0-9]{13,19}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Account number that will be used in the authorisation request for + payment transactions. May be represented by PAN, token. +
+
+
+
+
+
+ acctType + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^(0[1-3]|[89][0-9])$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates the type of account. For example, for a multi-account card + product. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + +
+ 01 + Not applicable
+ 02 + Credit
+ 03 + Debit
+ 80-99 + Usable by card schemes
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ acquirerBIN + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Max length: + 11 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Acquiring institution identification code as assigned by the DS + receiving the AReq message. +
+
+
Required if messageCategory is "01"
+ + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ acquirerMerchantID + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Max length: + 35 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ 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 formatting requirements. +
+
+
Required if messageCategory is "01"
+ + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ addrMatch + +
+
string
+
+
+
+
+
+
Optional
+
+
+ One of: +
+ Y + N +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW +
+
+
+
+
+ Indicates whether the Cardholder Shipping Address and Cardholder + Billing Address are the same. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ appIp + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + ip + +
+
+ Max length: + 45 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ External IP address (i.e., the device public IP address) used by the + 3DS Requestor App when it connects to the 3DS Requestor environment. +
+
+
+
+
+
+ billAddrCity + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 50 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The city of the Cardholder billing address associated with the card + used for this purchase. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ billAddrCountry + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^\d{3}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The ISO 3166-1 numeric three-digit country code of the Cardholder + billing address associated with the card used for this purchase. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ billAddrLine1 + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 50 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ First line of the street address or equivalent local portion of the + Cardholder billing address associated with the card used for this + purchase. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ billAddrLine2 + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 50 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Second line of the street address or equivalent local portion of the + Cardholder billing address associated with the card used for this + purchase. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ billAddrLine3 + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 50 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Third line of the street address or equivalent local portion of the + Cardholder billing address associated with the card used for this + purchase. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ billAddrPostCode + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 16 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ ZIP or other postal code of the Cardholder billing address associated + with the card used for this purchase. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ billAddrState + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 3 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The ISO 3166-2 state or province of the Cardholder billing address + associated with the card used for this purchase. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ broadInfo + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Unstructured information sent between the 3DS Server, the DS and the + ACS. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ browserAcceptHeader + +
+
string
+
+
+
+
+
+
Required
+
+
+ Max length: + 2048 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Exact content of the HTTP accept headers as sent to the 3DS Requestor + from the Cardholder's browser. +
+
+
+
+
+
+ browserColorDepth + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ One of: +
+ 1 + 4 + 8 + 15 + 16 + 24 + 32 + 48 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Value representing the bit depth of the colour palette for displaying + images, in bits per pixel. Obtained from Cardholder browser using the + screen.colorDepth property. +
+
+
Required if browserJavascriptEnabled is true
+ + + + + + + + + + + +
+
+
+
+
+
+ browserIP + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + ip + +
+
+ Max length: + 45 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ IP address the browser is connecting from. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ browserJavaEnabled + +
+
bool
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Boolean that represents the ability of the cardholder browser to + execute Java. Value is returned from the navigator.javaEnabled + property. +
+
+
Required if browserJavascriptEnabled is true
+ + + + + + + + + + + +
+
+
+
+
+
+ browserJavascriptEnabled + +
+
bool
+
+
+
+
+
+
Required
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Boolean that represents the ability of the cardholder browser execute + JavaScript. +
+
+
+
+
+
+ browserLanguage + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Min length: + 1 +
+
+ Max length: + 8 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Value representing the browser language as defined in IETF BCP47. + Returned from navigator.language property. +
+
+
Required if browserJavascriptEnabled is true
+ + + + + + + + + + + +
+
+
+
+
+
+ browserScreenHeight + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^[0-9]{1,6}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Total height of the Cardholder's screen in pixels. Value is returned + from the screen.height property. +
+
+
Required if browserJavascriptEnabled is true
+ + + + + + + + + + + +
+
+
+
+
+
+ browserScreenWidth + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^[0-9]{1,6}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Total width of the cardholder's screen in pixels. Value is returned + from the screen.width property. +
+
+
Required if browserJavascriptEnabled is true
+ + + + + + + + + + + +
+
+
+
+
+
+ browserTZ + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^[+-]?[0-9]{1,4}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ 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. +
+
+
Required if browserJavascriptEnabled is true
+ + + + + + + + + + + +
+
+
+
+
+
+ browserUserAgent + +
+
string
+
+
+
+
+
+
Required
+
+
+ Max length: + 2048 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Exact content of the HTTP user-agent header. Note: If the total length + of the User-Agent sent by the browser exceeds 2048 characters, + truncate the excess portion. +
+
+
+
+
+
+ cardExpiryDate + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + yymm + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Expiry Date of the PAN or token supplied to the 3DS Requestor by the + Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
Field is required
+
+
+
+
+
+
+ cardholderName + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Min length: + 2 +
+
+ Max length: + 45 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
Name of the Cardholder.
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ deviceChannel + +
+
string
+
+
+
+
+
+
Required
+
+
+ Regexp: + ^(0[1-3]|[89][0-9])$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates the type of channel interface being used to initiate the + transaction. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + +
+ 01 + App-based (APP)
+ 02 + Browser (BRW)
+ 03 + 3DS Requestor Initiated (3RI)
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ deviceRenderOptions + +
+ +
+
+
+
+
+
Required
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Defines the SDK UI types that the device supports for displaying + specific challenge user interfaces within the SDK. +
+
+
+
+
+
+ ds + +
+
string
+
+
+
+
+
+
Optional
+
+
+ One of: +
+ standin + visa + mastercard + jcb + amex + protectbuy + sbn +
+
+
+
+
+
+ Directory Server used in 3DS payment flow. This field is used to + signal which DS to use on co-branded cards. Required for using the + Dankort side on a Visa/Dankort +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ standin + + 3dsecure.io standin directory server and scheme (only in sandbox) +
+ visa + Visa
+ mastercard + Mastercard
+ jcb + JCB
+ amex + American Express
+ protectbuy + ProtectBuy (Discover/Diners)
+ sbn + + Secured by Nets (Dankort/Forbrugsforeningen) +
+
+
+
+
+
+ email + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + email + +
+
+ Max length: + 254 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The email address associated with the account that is either entered + by the Cardholder, or is on file with the 3DS Requestor. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ homePhone + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The home phone number provided by the Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ mcc + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Length: + 4 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ DS-specific code describing the Merchant's type of business, product + or service. +
+
+
Required if messageCategory is "01"
+ + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ merchantCountryCode + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + countryCode + +
+
+ Regexp: + ^\d{3}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The ISO 3166-1 numeric three-digit country code of the Merchant. +
+
+
Required if messageCategory is "01"
+ + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ merchantName + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Max length: + 40 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Merchant name assigned by the Acquirer or Payment System. +
+
+
Required if messageCategory is "01"
+ + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ merchantRiskIndicator + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Merchant's assessment of the level of fraud risk for the specific + authentication for both the cardholder and the authentication being + conducted. +
+
+
+
+
+
+ messageCategory + +
+
string
+
+
+
+
+
+
Required
+
+
+ Regexp: + ^(0[1-2]|[89][0-9])$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the category of the message for a specific use case. +
+

Meaning of values:

+ + + + + + + + + + + + + +
+ 01 + PA - Payment
+ 02 + NPA - Non-Payment
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ messageExtension + +
+ +
+
+
+
+
+
Optional
+
+
+ Max length: + 15 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Data necessary to support requirements not otherwise defined in the + 3-D Secure message are carried in a Message Extension. +
+
+
+
+
+
+ messageType + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + AReq +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the type of message that is passed. +
+
+
+
+
+
+ messageVersion + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + 2.3.1 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Protocol version identifier This shall be the Protocol Version Number + of the specification utilised by the system creating this message. +
+
+
+
+
+
+ mobilePhone + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The mobile phone number provided by the Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ notificationURL + +
+
string
+
+
+
+
+
+
Required
+
+
+ Format: + + urlHttps + +
+
+ Max length: + 256 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ 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. +
+
+
+
+
+
+ purchaseAmount + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^\d{0,48}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Purchase amount in minor units of currency with all punctuation + removed. +
+
+
+ Required if messageCategory is "01"
+ Required if messageCategory is "02" and + (threeDSRequestorAuthenticationInd is one of [02, 03] or threeRIInd + is one of [01, 02, 06, 07, 08, 09, 11])
+
+ + + + + + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ purchaseCurrency + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + currency + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ 3-digit ISO 4217 currency code string, in which purchase amount is + expressed. +
+
+
+ Required if messageCategory is "01"
+ Required if messageCategory is "02" and + (threeDSRequestorAuthenticationInd is one of [02, 03] or threeRIInd + is one of [01, 02, 06, 07, 08, 09, 11])
+
+ + + + + + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ purchaseDate + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + yyyymmddhhmmss + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Date and time of the purchase expressed in UTC. +
+
+
+ Required if messageCategory is "01"
+ Required if messageCategory is "02" and + (threeDSRequestorAuthenticationInd is one of [02, 03] or threeRIInd + is one of [01, 02, 06, 07, 08, 09, 11])
+
+ + + + + + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ purchaseExponent + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^\d$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Minor units of currency as specified in the ISO 4217 currency + exponent. This data should be available from your acquirer or card + scheme. The standard is maintained at currency-iso.org. +
+
+
+ Required if messageCategory is "01"
+ Required if messageCategory is "02" and + (threeDSRequestorAuthenticationInd is one of [02, 03] or threeRIInd + is one of [01, 02, 06, 07, 08, 09, 11])
+
+ + + + + + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ purchaseInstalData + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Max length: + 3 +
+
+ From + 2 + To + 999 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates the maximum number of authorisations permitted for + instalment payments. +
+
+
+ Required if threeDSRequestorAuthenticationInd is "03"
+ Required if threeRIInd is "02"
+
+ + + + + + + + + + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ payTokenInd + +
+
bool
+
+
+
+
+
+
Optional
+
+
+ Must be: + true +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ A value of True indicates that the transaction was de-tokenised 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 de-tokenisation + 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. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ payTokenSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^(0[1-2]|[89][0-9])$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ This data element will be populated by the system residing in the 3-D + Secure domain where the de-tokenisation occurs. +
+

Meaning of values:

+ + + + + + + + + + + + + +
+ 01 + 3-D Secure Server
+ 02 + Directory Server
+ 80-99 + Reserved for DS use
+
+
Required if payTokenInd is true
+ + + + + + + + + + + +
+
+
+
+
+
+ recurringExpiry + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + yyyymmdd + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Date after which no further authorisations shall be performed. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ recurringFrequency + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^\d{0,4}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates the minimum number of days between authorisations. +
+
+
+ Required if recurringInd.frequencyInd is "01"
+ Required if (threeDSRequestorAuthenticationInd is "03" or threeRIInd + is "02")
+
+ + + + + + + + + + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ sdkAppID + +
+
string
+
+
+
+
+
+
Required
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ 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. +
+
+
+
+
+
+ sdkEncData + +
+
string
+
+
+
+
+
+
Required
+
+
+ Max length: + 64000 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ JWE Object (represented as a string) as defined in Section 6.2.2.1 + containing data encrypted by the SDK for the DS to decrypt. +
+
+
+
+
+
+ sdkEphemPubKey + +
+
json
+
+
+
+
+
+
Required
+
+
+ Max length: + 256 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ 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. +
+
+
+
+
+
+ sdkMaxTimeout + +
+
string
+
+
+
+
+
+
Required
+
+
+ Length: + 2 +
+
+ Value: + 05 + … + 99 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Indicates maximum amount of time (in minutes) for all exchanges. +
+
+
+
+
+
+ sdkReferenceNumber + +
+
string
+
+
+
+
+
+
Required
+
+
+ Max length: + 32 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Identifies the vendor and version for the 3DS SDK that is integrated + in a 3DS Requestor App, assigned by EMVCo when the 3DS SDK is + approved. +
+
+
+
+
+
+ sdkTransID + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS SDK to + identify a single transaction. +
+
+
Required if deviceChannel is "01"
+ + +
+
+
+
+
+
+ shipAddrCity + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 50 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ City portion of the shipping address requested by the Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ shipAddrCountry + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^\d{3}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The ISO 3166-1 numeric three-digit country code of the shipping + address requested by the Cardholder. +
+
+
Required if shipAddrState is not empty
+ + + + + + + + + + + +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ shipAddrLine1 + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 50 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ First line of the street address or equivalent local portion of the + shipping address requested by the Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ shipAddrLine2 + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 50 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The second line of the street address or equivalent local portion of + the shipping address requested by the Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ shipAddrLine3 + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 50 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The third line of the street address or equivalent local portion of + the shipping address requested by the Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ shipAddrPostCode + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 16 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The ZIP or other postal code of the shipping address requested by the + Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ shipAddrState + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 3 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The ISO 3166-2 state or province of the shipping address associated + with the card being used for this purchase. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
Mastercard
+
+ Field is required unless market restrictions prevent it +
+
+
+
+
+
+
+ threeDSCompInd + +
+
string
+
+
+
+
+
+
Required
+
+
+ One of: +
+ Y + N + U +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Indicates whether the 3DS Method successfully completed. +
+

Meaning of values:

+ + + + + + + + + + + + + +
+ Y + Successfully completed
+ N + 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. +
+
+
+
+
+
+ threeDSReqAuthMethodInd + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^(0[123]|[89][0-9])$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW +
+
+
+
+
+ Value that represents the signature verification performed by the DS + on the mechanism (e.g., FIDO) used by the cardholder to authenticate + to the 3DS Requestor. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + + No 3DS Requestor authentication occurred (i.e., Cardholder “logged + in” as guest) +
+ 02 + + Login to the Cardholder account at the 3DS Requestor system using + 3DS Requestor's own credentials +
+ 03 + + Login to the Cardholder account at the 3DS Requestor system using + federated ID +
+ 04 + + Login to the Cardholder account at the 3DS Requestor system using + Issuer credentials +
+ 05 + + Login to the Cardholder account at the 3DS Requestor system using + third-party authentication +
+ 06 + + Login to the Cardholder account at the 3DS Requestor system using + FIDO Authenticator +
+ 07 + + Login to the Cardholder account at the 3DS Requestor system using + FIDO Authenticator (FIDO Assertion or Attestation data signed) +
+ 08 + SRC Assurance Data
+ 09 + SPC Authentication
+ 10 + Electronic ID Authentication Data
+ 11-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ threeDSRequestorAuthenticationInd + +
+
string
+
+
+
+
+
+
Required
+
+
+ Regexp: + ^\d{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW +
+
+
+
+
+ Indicates the type of Authentication request. This data element + provides additional information to the ACS to determine the best + approach for handling an authentication request. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + Payment transaction
+ 02 + Recurring transaction
+ 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) +
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ threeDSRequestorAuthenticationInfo + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Information about how the 3DS Requestor authenticated the cardholder + before or during the transaction. +
+
+
+
+
+
+ threeDSRequestorChallengeInd + +
+
Array of string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^(0[1-9]|1[0-5]|[89][0-9])$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates whether a challenge is requested for this transaction. For + example: 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. For local/regional + mandates or other variables. +
+

Meaning of 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) +
+ 06 + No challenge requested (Data share only)
+ 07 + + No challenge requested (strong consumer authentication is already + performed) +
+ 08 + + No challenge requested (use Trust List exemption if no challenge + required) +
+ 09 + + Challenge requested (Trust List prompt requested if challenge + required) +
+ 10 + + No challenge requested (use low value exemption) +
+ 11 + + No challenge requested (Secure corporate payment exemption) +
+ 12 + + Challenge requested (Device Binding prompt requested if challenge + required) +
+ 13 + Challenge requested (Issuer requested)
+ 14 + + Challenge requested (Merchant-initiated transactions) +
+ 15-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ threeDSRequestorDecMaxTime + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Length: + 5 +
+
+ Value: + 00001 + … + 10080 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ 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). +
+
+
+ Required if threeDSRequestorDecReqInd is one of [Y, F, B]
+
+ + + + + + + + + + + +
+
+
+
+
+
+ threeDSRequestorDecReqInd + +
+
string
+
+
+
+
+
+
Optional
+
+
+ One of: +
+ Y + N + F + B +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates whether the 3DS Requestor requests the ACS to utilise + Decoupled Authentication and agrees to utilise Decoupled + Authentication if the ACS confirms its use. +
+
+
+
+
+
+ threeDSRequestorPriorAuthenticationInfo + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Information about how the 3DS Requestor authenticated the cardholder + as part of a previous 3DS transaction. +
+
+
+
+
+
+ threeDSRequestorURL + +
+
string
+
+
+
+
+
+
Required
+
+
+ Format: + + urlHttps + +
+
+ Max length: + 2048 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Fully qualified URL of 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 should provide contact + information. +
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ threeDSServerTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS Server + to identify a single transaction. +
+
+
+
+
+
+
+ threeRIInd + +
+
string
+
+
+
+
+
+
Required
+
+
+ Regexp: + ^\d{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + 3RI +
+
+
+
+
+ Indicates the type of 3RI request. This data element provides + additional information to the ACS to determine the best approach for + handing a 3RI request. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + Recurring transaction
+ 02 + Instalment transaction
+ 03 + Add card
+ 04 + Maintain card information
+ 05 + Account verification
+ 06 + Split shipment
+ 07 + Top-up
+ 08 + Mail Order
+ 09 + Telephone Order
+ 10 + Trust List status check
+ 11 + Other payment
+ 12 + Billing Agreement
+ 13 + Device Binding status check
+ 14 + Card Security Code status check
+ 15 + Delayed shipment
+ 16 + Split payment
+ 17 + FIDO credential deletion
+ 18 + FIDO credential registration
+ 19 + Decoupled Authentication Fallback
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ transType + +
+
string
+
+
+
+
+
+
Optional
+
+
+ One of: +
+ 01 + 03 + 10 + 11 + 28 +
+
+
+
+
+ Categories: + PA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the type of transaction being authenticated. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + +
+ 01 + Goods/ Service Purchase
+ 03 + Check Acceptance
+ 10 + Account Funding
+ 11 + Quasi-Cash Transaction
+ 28 + Prepaid Activation and Load
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ trustListStatus + +
+
string
+
+
+
+
+
+
Optional
+
+
+ One of: +
+ Y + N + E + P + R + U +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Enables the communication of trusted beneficiary/trustlist status + between the ACS, the DS and the 3DS Requestor. Note: Valid values in + the AReq message are Y or N +
+

Meaning of 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 +
+
+
+
+
+
+ trustListStatusSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^(0[123]|[89][0-9])$ +
+
+ One of: +
+ 01 + 02 + 03 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ This data element will be populated by the system setting Trust List + Status. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + +
+ 01 + 3DS Server
+ 02 + DS
+ 03 + ACS
+ 04-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
Required if trustListStatus is not empty
+ + + + + + + + + + + +
+
+
+
+
+
+ workPhone + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ The work phone number provided by the Cardholder. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ threeDSMethodId + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+
+
+
+ threeDSRequestorSpcSupport + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Must be: + Y +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+
+
+
+ acceptLanguage + +
+
Array of string
+
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+
+
+
+ acquirerCountryCode + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{3}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ acquirerCountryCodeSource + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ deviceId + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 64 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Unique and immutable identifier linked to a device that is consistent + across 3DS transactions for the specific user device. +
+
+
+
+
+
+ userId + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 64 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Identifier of the transacting user's Browser Account ID. +
+
+
+
+
+
+ cardSecurityCode + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{3,4}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ cardSecurityCodeStatus + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ One of: +
+ Y + N + U +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
Required if cardSecurityCodeProvided is true
+ + + + + + + + + + + +
+
+
+
+
+
+ cardSecurityCodeStatusSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+

Meaning of values:

+ + + + + + + + + + + + + + + + + +
+ 01 + DS
+ 02 + ACS
+ 03-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+ Required if cardSecurityCodeStatus is not nil
+
+ + + + + + + + + + + +
+
+
+
+
+
+ splitSdkType + +
+ +
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Indicates the characteristics of a Split-SDK. +
+
+
Required if sdkType is "02"
+ + + + + + + + + + + +
+
+
+
+
+
+ defaultSdkType + +
+ +
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Indicates the characteristics of a Default-SDK. +
+
+
Required if sdkType is "01"
+ + + + + + + + + + + +
+
+
+
+
+
+ deviceBindingStatus + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06-10 + 11 + 12 + 13 + 14 + 15 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + Device is not bound by Cardholder
+ 02 + Not eligible as determined by issuer
+ 03 + Pending confirmation by Cardholder
+ 04 + Cardholder reject
+ 05 + + Device Binding Status unknown, unavailable, or does not apply +
+ 06-10 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 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 consumers device. For example, a external FIDO + authenticator) +
+ 13 + + Device is bound by Cardholder (Device is bound using data that + includes dynamically) +
+ 14 + + Device is bound by Cardholder (Device is bound using static device + data that has been obtained from the consumers device) +
+ 15 + + Device is bound by Cardholder (Other method) +
+ 16-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ deviceBindingStatusSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 + 03 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + +
+ 01 + 3DS Server
+ 02 + DS
+ 03 + ACS
+ 04-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
Required if deviceBindingStatus is not nil
+ + + + + + + + + + + +
+
+
+
+
+
+ payTokenInfo + +
+
json
+
+
+
+
+
+
Optional
+
+
+ Max length: + 10000 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ multiTransaction + +
+
json
+
+
+
+
+
+
Optional
+
+
+ Max length: + 10000 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ payeeOriginAReq + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + urlHttps + +
+
+ Max length: + 2048 +
+
+
+
+
+
+
+ Required if threeDSRequestorSpcSupport is "Y"
+
+ + + + + + + + + + + +
+
+
+
+
+
+ recurringAmount + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 48 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ recurringCurrency + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{3}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ recurringExponent + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{1}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ recurringDate + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + yyyymmdd + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ recurringInd + +
+ +
+
+
+
+
+
Optional
+
+
+
+
+
+
+
+ sdkServerSignedContent + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Max length: + 4000 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+
+
+ Required if sdkType is "02"
+ Required if sdkType is "03"
+ Required if sdkType is "04"
+ Required if sdkType is "05"
+
+ + + + + + + + + + + +
+
+
+
+
+
+ sdkSignatureTimestamp + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + yyyymmddhhmmss + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+
+
+
+ sdkType + +
+
string
+
+
+
+
+
+
Required
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
Indicates the type of 3DS SDK.
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + Default SDK
+ 02 + Split-SDK
+ 03 + Limited-SDK
+ 04 + Browser SDK
+ 05 + Shell SDK
+ 06-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ sellerInfo + +
+
json
+
+
+
+
+
+
Optional
+
+
+ Max length: + 10000 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
+
+ spcIncompInd + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Reason that the SPC authentication was not completed. +
+

Meaning of 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) +
+
+
+
+
+
+ taxId + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 45 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
Cardholder's tax identification.
+
+
+
+
diff --git a/source/_static/ares_231.html b/source/_static/ares_231.html new file mode 100644 index 0000000..0be1774 --- /dev/null +++ b/source/_static/ares_231.html @@ -0,0 +1,3611 @@ +
+
+
+ acsChallengeMandated + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ One of: +
+ Y + N +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indication of whether a challenge is required for the transaction to + be authorised due to local/regional mandates or other variable. +
+
+
Required if transStatus is one of [C, D]
+ + + + + + + + + + + +
+
+
+
+
+
+ acsDecConInd + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ One of: +
+ Y + N +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates whether the ACS confirms utilisation of Decoupled + Authentication and agrees to utilise Decoupled Authentication to + authenticate the Cardholder. +
+
+
Required if transStatus is "D"
+ + + + + + + + + + + +
+
+
+
+
+
+ acsOperatorID + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 32 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ DS assigned ACS identifier. Each DS can provide a unique ID to each + ACS on an individual basis. +
+
+
+
+
+
+ acsReferenceNumber + +
+
string
+
+
+
+
+
+
Required
+
+
+ Max length: + 32 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Unique identifier assigned by the EMVCo Secretariat upon Testing and + Approval. +
+
+
+
+
+
+ acsRenderingType + +
+ +
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Identifies the ACS UI Template that the ACS will first present to the + consumer. +
+
+
+ Required if deviceChannel is "01" and transStatus is "C"
+
+ + + + + +
+
+
+
+
+
+ acsSignedContent + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Max length: + 16000 +
+
+ Regexp: + ^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Contains the JWS object (represented as a string) created by the ACS + for the ARes message. +
+
+
+ Required if transStatus is "C"
+ Required if deviceChannel is "01"
+
+ + + + + +
+
+
+
+
+
+ acsTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the ACS to + identify a single transaction. +
+
+
+
+
+
+
+ acsURL + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + urlHttps + +
+
+ Max length: + 2048 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ Fully qualified URL of the ACS to be used for the challenge. + 02-BRW—3DS Requestor will post the CReq to this URL via the challenge + window +
+
+
+ Required if deviceChannel is "02"
+ Required if transStatus is "C"
+
+ + + + + +
+
+
+
+
+
+ authenticationMethod + +
+
Array of string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Min length: + 1 +
+
+ Max length: + 99 +
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 + 15 + 16 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Authentication approach that the ACS used to authenticate the + Cardholder for this specific transaction. +
+

Meaning of 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
+ 12 + Decoupled
+ 13 + WebAuthn
+ 14 + SPC
+ 15 + Behavioural biometrics
+ 16 + Electronic ID
+ 12-79 + + Reserved for future EMVCo use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+ Required if transStatus is one of [C, D]
+ Required if transStatus is one of [Y, N]
+
+ + + + + + + + + + + +
+
+
+
+
+
+ authenticationValue + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Max length: + 4000 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ 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. +
+
+
+ Required if messageCategory is "01"
+ Required if transStatus is one of [Y, A]
+
+ + + + + + + +
+
+
+
+
+
+ broadInfo + +
+ +
+
+
+
+
+
Optional
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Unstructured information sent between the 3DS Server, the DS and the + ACS. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ cardholderInfo + +
+ +
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ 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.” +
+
+
Required if acsDecConInd is "Y"
+ + + + + + + + + + + +
+
+
+
+
+
+ dsReferenceNumber + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Max length: + 32 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ EMVCo-assigned unique identifier to track approved DS. +
+
+
+
+
+
+
+ dsTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+ Max length: + 36 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the DS to + identify a single transaction. +
+
+
+
+
+
+
+ eci + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 2 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Payment System-specific value provided by the ACS or DS to indicate + the results of the attempt to authenticate the Cardholder. +
+
+
+
+
+
+ messageExtension + +
+ +
+
+
+
+
+
Optional
+
+
+ Max length: + 15 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Data necessary to support requirements not otherwise defined in the + 3-D Secure message are carried in a Message Extension. +
+
+
+
+
+
+ messageType + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + ARes +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the type of message that is passed. +
+
+
+
+
+
+ messageVersion + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + 2.3.1 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Protocol version identifier This shall be the Protocol Version Number + of the specification utilised by the system creating this message. +
+
+
+
+
+
+ sdkTransID + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS SDK to + identify a single transaction. +
+
+
Required if deviceChannel is "01"
+ + +
+
+
+
+
+
+ threeDSServerTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS Server + to identify a single transaction. +
+
+
+
+
+
+
+ transStatus + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ One of: +
+ Y + N + U + A + C + D + R + I + S +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates whether a transaction qualifies as an authenticated + transaction or account verification. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Y + + Authentication/ Account 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. +
+ 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. +
+ S + Challenge using SPC
+
+
Required if messageCategory is "01"
+ + + +
+
+
+
+
+
+ transStatusReason + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^\d{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Provides information on why the Transaction Status field has the + specified value. +
+

Meaning of 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
+ 23 + + Decoupled Authentication required by ACS but not requested by 3DS + Requestor +
+ 24 + + 3DS Requestor Decoupled Max Expiry Time exceeded +
+ 25 + + Decoupled Authentication was provided insufficient time to + authenticate Cardholder. ACS will not make attempt +
+ 26 + + Authentication attempted but not performed by the Cardholder +
+ 27 + + Preferred Authentication Method not supported +
+ 28 + + Validation of content security policy failed +
+ 29 + + Authentication attempted but not completed by the Cardholder. Fall + back to Decoupled Authentication +
+ 30 + + Authentication completed successfully but additional + authentication of the Cardholder required. Reinitiate as Decoupled + Authentication +
+ 31-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+ Required if messageCategory is "01"
+ Required if transStatus is one of [N, U, R]
+
+ + + + + + + +
+
+
+
+
+
+ trustListStatus + +
+
string
+
+
+
+
+
+
Optional
+
+
+ One of: +
+ Y + N + E + P + R + U +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Enables the communication of trusted beneficiary/trustlist status + between the ACS, the DS and the 3DS Requestor. Note: Valid values in + the AReq message are Y or N +
+

Meaning of 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 +
+
+
+
+
+
+ trustListStatusSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^(0[123]|[89][0-9])$ +
+
+ One of: +
+ 01 + 02 + 03 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ This data element will be populated by the system setting Trust List + Status. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + +
+ 01 + 3DS Server
+ 02 + DS
+ 03 + ACS
+ 04-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
Required if trustListStatus is not empty
+ + + + + + + + + + + +
+
+
+
+
+
+ threeDSRequestorAppURLInd + +
+
string
+
+
+
+
+
+
Required
+
+
+ One of: +
+ Y + N +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+
+
+
+ cardSecurityCodeStatus + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ One of: +
+ Y + N + U +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+
+
Required if cardSecurityCodeProvided is true
+ + + + + + + + + + + +
+
+
+
+
+
+ cardSecurityCodeStatusSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+

Meaning of values:

+ + + + + + + + + + + + + + + + + +
+ 01 + DS
+ 02 + ACS
+ 03-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+ Required if cardSecurityCodeStatus is not nil
+
+ + + + + + + + + + + +
+
+
+
+
+
+ deviceBindingStatus + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06-10 + 11 + 12 + 13 + 14 + 15 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + Device is not bound by Cardholder
+ 02 + Not eligible as determined by issuer
+ 03 + Pending confirmation by Cardholder
+ 04 + Cardholder reject
+ 05 + + Device Binding Status unknown, unavailable, or does not apply +
+ 06-10 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 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 consumers device. For example, a external FIDO + authenticator) +
+ 13 + + Device is bound by Cardholder (Device is bound using data that + includes dynamically) +
+ 14 + + Device is bound by Cardholder (Device is bound using static device + data that has been obtained from the consumers device) +
+ 15 + + Device is bound by Cardholder (Other method) +
+ 16-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ deviceBindingStatusSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 + 03 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + +
+ 01 + 3DS Server
+ 02 + DS
+ 03 + ACS
+ 04-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
Required if deviceBindingStatus is not nil
+ + + + + + + + + + + +
+
+
+
+
+
+ deviceInfoRecognisedVersion + +
+
string
+
+
+
+
+
+
Required
+
+
+ Min length: + 3 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+
+
+
+ spcTransData + +
+ +
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+
+
Required if transStatus is "S"
+ + + + + + + + + + + +
+
+
+
+
+
+ transChallengeExemption + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 05 + 08 + 10 + 11 + 79 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Exemption applied by the ACS to authenticate the transaction without + requesting a challenge. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 05 + Transaction Risk Analysis exemption
+ 08 + Trust List exemption
+ 10 + Low Value exemption
+ 11 + Secure Corporate Payments exemption
+ 79 + No exemption applied
+ 01-04 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 06 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 07 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 09 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 12-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ transStatusReasonInfo + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 256 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Provides additional information on the Transaction Status Reason. +
+
+
+
+
+
+ webAuthnCredList + +
+
+ Array of + webAuthnCred object +
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Min length: + 1 +
+
+ Max length: + 10 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + BRW +
+
+
+
+
+ List of credential IDs registered for the Cardholder Account Number. +
+
+
Required if transStatus is "S"
+ + + + + + + + + + + +
+
+
+
+
diff --git a/source/_static/crd_220.html b/source/_static/crd_220.html new file mode 100644 index 0000000..eda7e25 --- /dev/null +++ b/source/_static/crd_220.html @@ -0,0 +1,530 @@ +
+
+
+ acsEndProtocolVersion +
+
string
+
+
+
+
+
Required
+
+
+ Format: + + validVersion + +
+
+
+
+
+ The most recent active protocol version that is supported for the ACS + URL. +
+
+
+
+
+
+ acsInfoInd +
+
Array of string
+
+
+
+
+
Optional
+
+
+ Regexp: + ^(0[1-4]|[89][0-9])$ +
+
+
+
+
+ Provides additional information to the 3DS Server. The element lists + all applicable values for the card range. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + Authentication Available at ACS
+ 02 + Attempts Supported by ACS or DS
+ 03 + Decoupled Authentication Supported
+ 04 + Whitelisting Supported
+ 80-99 + Reserved for DS use
+ 80 (mastercard) + + Supports Smart Authentication Stand-In Service +
+ 81 (mastercard) + Supports Smart Authentication Direct
+ 90 (mastercard) + Supports Identity Check Express
+ 91 (mastercard) + + Supports Authentication Express Merchant Delegation for Identity + Check Express (Type I) +
+ 92 (mastercard) + + Supports Authentication Express Low Fraud Merchant (Type II) +
+ 93 (mastercard) + + Participates in Authentication Express Wallet Delegation +
+ 94 (mastercard) + + Participates in Authentication Express Wallet Delegation +
+ 80 (visa) + TRA Supported by issuer
+ 81 (visa) + Data-only Supported by Issuer
+ 82 (visa) + + Delegated Authentication Supported by issuer +
+
+
+
+
+
+ acsStartProtocolVersion +
+
string
+
+
+
+
+
Required
+
+
+ Format: + + validVersion + +
+
+
+
+
+ The earliest (i.e. oldest) active protocol version that is supported + by the ACS. +
+
+
+
+
+
+ dsEndProtocolVersion +
+
string
+
+
+
+
+
Required
+
+
+ Format: + + validVersion + +
+
+
+
+
+ The most recent active protocol version that is supported for the DS. +
+
+
+
+
+
+ dsStartProtocolVersion +
+
string
+
+
+
+
+
Required
+
+
+ Format: + + validVersion + +
+
+
+
+
+ The earliest (i.e. oldest) active protocol version that is supported + by the DS. +
+
+
+
+
+
+ messageType +
+
string
+
+
+
+
+
Required
+
+
+ Must be: + CRD +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the type of message that is passed. +
+
+
+
+
+
+ threeDSMethodURL +
+
string
+
+
+
+
+
Optional
+
+
+ Format: + + url + +
+
+ Max length: + 256 +
+
+
+
+
+ The ACS URL that will be used by the 3DS Method. Note: The + 3DSMethodURL data element may be omitted if not supported by the ACS + for this specific card range. +
+
+
+
+
+
+ threeDSServerTransID +
+
string
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS Server + to identify a single transaction. +
+
+
+
+
+
+
+ scheme +
+
string
+
+
+
+
+
Required
+
+
+ One of: +
+ standin + visa + mastercard + jcb + upi + amex + protectbuy + sbn +
+
+
+
+
+
Account number Card Scheme
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ standin + + 3dsecure.io standin scheme (only in sandbox) +
+ visa + Visa
+ mastercard + Mastercard
+ jcb + JCB
+ upi + UnionPay International
+ amex + American Express
+ protectbuy + ProtectBuy (Discover/Diners)
+ sbn + + Secured by Nets (Dankort/Forbrugsforeningen) +
+
+
+
+
diff --git a/source/_static/creq.html b/source/_static/creq.html index cd07bc1..8da9787 100644 --- a/source/_static/creq.html +++ b/source/_static/creq.html @@ -72,6 +72,7 @@
2.1.0 2.2.0 + 2.3.1
diff --git a/source/_static/cres_231.html b/source/_static/cres_231.html new file mode 100644 index 0000000..267ec1a --- /dev/null +++ b/source/_static/cres_231.html @@ -0,0 +1,590 @@ +
+
+
+ acsCounterAtoS + +
+
string
+
+
+
+
+
+
Required
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Counter used as a security measure in the ACS to 3DS SDK secure + channel. +
+
+
+
+
+
+ acsTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the ACS to + identify a single transaction. +
+
+
+
+
+
+
+ challengeCompletionInd + +
+
string
+
+
+
+
+
+
Required
+
+
+ One of: +
+ Y + N +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ 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. +
+
+
+
+
+
+ messageExtension + +
+ +
+
+
+
+
+
Optional
+
+
+ Max length: + 15 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Data necessary to support requirements not otherwise defined in the + 3-D Secure message are carried in a Message Extension. +
+
+
+
+
+
+ messageType + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + CRes +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the type of message that is passed. +
+
+
+
+
+
+ messageVersion + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + 2.3.1 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Protocol version identifier This shall be the Protocol Version Number + of the specification utilised by the system creating this message. +
+
+
+
+
+
+ sdkTransID + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS SDK to + identify a single transaction. +
+
+
Required if deviceChannel is "01"
+ + +
+
+
+
+
+
+ threeDSServerTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS Server + to identify a single transaction. +
+
+
+
+
+
+
+ transStatus + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ One of: +
+ Y + N +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates whether a transaction qualifies as an authenticated + transaction or account verification. +
+

Meaning of values:

+ + + + + + + + + +
+ Y + + Authentication/ Account Verification Successful +
+ N + + Not Authenticated /Account Not Verified; Transaction denied +
+
+
Required if messageCategory is "01"
+ + + +
+
+
+
+
diff --git a/source/_static/devicerenderoptions.html b/source/_static/devicerenderoptions.html index 2c3f0f7..ae5710a 100644 --- a/source/_static/devicerenderoptions.html +++ b/source/_static/devicerenderoptions.html @@ -82,6 +82,8 @@ 03 04 05 + 06 + 07
@@ -123,6 +125,148 @@ HTML Other (valid only for HTML UI) + + + 06 + + HTML OOB (valid only for HTML UI) + + + + 07 + + Information + + +
+
+
+
+
+ sdkAuthenticationType +
+
Array of string
+
+
+
+
+
Optional
+
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12-79 + 80-99 +
+
+
+
+
+
+ Lists all UI types that the device supports for displaying specific + challenge user interfaces within the SDK. +
+

Meaning of 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
+ 12-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
diff --git a/source/_static/erro_231.html b/source/_static/erro_231.html new file mode 100644 index 0000000..9b86772 --- /dev/null +++ b/source/_static/erro_231.html @@ -0,0 +1,837 @@ +
+
+
+ acsTransID + +
+
string
+
+
+
+
+
+
+
Optional
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the ACS to + identify a single transaction. +
+
+
+
+
+
+
+ dsTransID + +
+
string
+
+
+
+
+
+
+
Optional
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+ Max length: + 36 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the DS to + identify a single transaction. +
+
+
+
+
+
+
+ errorCode + +
+
string
+
+
+
+
+
+
Required
+
+
+ One of: +
+ 101 + 102 + 103 + 201 + 202 + 203 + 204 + 205 + 206 + 207 + 301 + 302 + 303 + 304 + 305 + 306 + 307 + 402 + 403 + 404 + 405 +
+
+
+
+
+
+ Code indicating the type of problem identified in the message. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 101 + Message Received Invalid
+ 102 + Message Version Number Not Supported
+ 103 + Sent Messages Limit Exceeded
+ 201 + Required Data Element Missing
+ 202 + Critical Message Extension Not Recognised
+ 203 + + Format of one or more Data Elements is Invalid according to the + Specification +
+ 204 + Duplicate Data Element
+ 205 + + Overlap in the card ranges provided by the DS in the PRes message +
+ 206 + Action is not possible for the card range
+ 207 + + Data Element value is in the range of 'Reserved for DS use' or + 'Reserved for EMVCo future use' and is not recognised +
+ 301 + Transaction ID Not Recognised
+ 302 + Data Decryption Failure
+ 303 + Access Denied, Invalid Endpoint
+ 304 + ISO Code Invalid
+ 305 + Transaction data not valid
+ 306 + + Merchant Category Code (MCC) Not Valid for Payment System +
+ 307 + Serial Number not Valid
+ 402 + Transaction Timed Out
+ 403 + Transient System Failure
+ 404 + Permanent System Failure
+ 405 + System Connection Failure
+
+
+
+
+
+ errorComponent + +
+
string
+
+
+
+
+
+
Required
+
+
+ One of: +
+ C + S + D + A +
+
+
+
+
+
+ Code indicating the 3-D Secure component that identified the error. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + +
+ C + 3DS SDK
+ S + 3DS Server
+ D + Directory Server
+ A + ACS
+
+
+
+
+
+ errorDescription + +
+
string
+
+
+
+
+
+
Required
+
+
+ Max length: + 2048 +
+
+
+
+
+ Text describing the problem identified in the message. +
+
+
+
+
+
+ errorDetail + +
+
string
+
+
+
+
+
+
Required
+
+
+ Max length: + 2048 +
+
+
+
+
+ Additional detail regarding the problem identified in the message. +
+
+
+
+
+
+ errorMessageType + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ One of: +
+ ARes + AReq + PRes + PReq + CRes + CReq + RReq + RRes + Erro +
+
+
+
+
+
+ Identifies the Message Type that was identified as erroneous. +
+
+
+
+
+
+
+ messageType + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + Erro +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the type of message that is passed. +
+
+
+
+
+
+ messageVersion + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + 2.3.1 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Protocol version identifier This shall be the Protocol Version Number + of the specification utilised by the system creating this message. +
+
+
+
+
+
+ sdkTransID + +
+
string
+
+
+
+
+
+
+
Optional
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS SDK to + identify a single transaction. +
+
+ + + + + + +
+
+
+
+
+
+ threeDSServerTransID + +
+
string
+
+
+
+
+
+
+
Optional
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS Server + to identify a single transaction. +
+
+
+
+
+
diff --git a/source/_static/merchantriskindicator.html b/source/_static/merchantriskindicator.html index c2ba18b..36fbb34 100644 --- a/source/_static/merchantriskindicator.html +++ b/source/_static/merchantriskindicator.html @@ -401,6 +401,8 @@ 05 06 07 + 08 + 09
@@ -472,6 +474,20 @@ subscriptions, etc.) + + + 08 + + Pick-up and go delivery + + + + 09 + + + Locker delivery (or other automated pick-up) + +

Scheme specific rules:

@@ -481,4 +497,53 @@
+
+
+ transChar +
+
Array of string
+
+
+
+
+
Optional
+
+
+ One of: +
+ 01 + 02 +
+
+
+
+
+
+ Indicates to the ACS specific transactions identified by the Merchant. +
+

Meaning of values:

+ + + + + + + + + +
+ 01 + Cryptocurrency transaction
+ 02 + NFT transaction
+
+
+
diff --git a/source/_static/rreq_231.html b/source/_static/rreq_231.html new file mode 100644 index 0000000..cc721ba --- /dev/null +++ b/source/_static/rreq_231.html @@ -0,0 +1,2639 @@ +
+
+
+ acsRenderingType + +
+ +
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Identifies the ACS UI Template that the ACS will first present to the + consumer. +
+
+
Required if acsDecConInd is not "Y"
+ + + + + + + + + + + +
+
+
+
+
+
+ acsTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the ACS to + identify a single transaction. +
+
+
+
+
+
+
+ authenticationMethod + +
+
Array of string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Min length: + 1 +
+
+ Max length: + 99 +
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 + 15 + 16 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Authentication approach that the ACS used to authenticate the + Cardholder for this specific transaction. +
+

Meaning of 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
+ 12 + Decoupled
+ 13 + WebAuthn
+ 14 + SPC
+ 15 + Behavioural biometrics
+ 16 + Electronic ID
+ 12-79 + + Reserved for future EMVCo use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+ Required if transStatus is one of [C, D]
+ Required if transStatus is one of [Y, N]
+
+ + + + + + + + + + + +
+
+
+
+
+
+ authenticationValue + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Max length: + 4000 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ 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. +
+
+
+ Required if messageCategory is "01"
+ Required if transStatus is one of [Y, A]
+
+ + + + + + + +
+
+
+
+
+
+ cardholderInfo + +
+ +
+
+
+
+
+
+
Optional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ 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.” +
+
+
+
+
+
+
+ challengeCancel + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^\d{2}$ +
+
+ One of: +
+ 01 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicator informing the ACS and the DS that the authentication has + been canceled. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + Cardholder selected "Cancel"
+ 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 SDK
+ 09 + + Error Message in response to the CRes message sent by the ACS +
+ 10 + + Error Message in response to the CReq message received by the ACS +
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ dsTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+ Max length: + 36 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the DS to + identify a single transaction. +
+
+
+
+
+
+
+ eci + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 2 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Payment System-specific value provided by the ACS or DS to indicate + the results of the attempt to authenticate the Cardholder. +
+
+
+
+
+
+ interactionCounter + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Length: + 2 +
+
+ Value: + 00 + … + 99 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW +
+
+
+
+
+ Indicates the number of authentication cycles attempted by the + Cardholder. +
+
+
Required if acsDecConInd is not "Y"
+ + + + + + + + + + + +
+
+
+
+
+
+ messageCategory + +
+
string
+
+
+
+
+
+
Required
+
+
+ Regexp: + ^(0[1-2]|[89][0-9])$ +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the category of the message for a specific use case. +
+

Meaning of values:

+ + + + + + + + + + + + + +
+ 01 + PA - Payment
+ 02 + NPA - Non-Payment
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ messageExtension + +
+ +
+
+
+
+
+
Optional
+
+
+ Max length: + 15 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Data necessary to support requirements not otherwise defined in the + 3-D Secure message are carried in a Message Extension. +
+
+
+
+
+
+ messageType + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + RReq +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Identifies the type of message that is passed. +
+
+
+
+
+
+ messageVersion + +
+
string
+
+
+
+
+
+
Required
+
+
+ Must be: + 2.3.1 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Protocol version identifier This shall be the Protocol Version Number + of the specification utilised by the system creating this message. +
+
+
+
+
+
+ sdkTransID + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS SDK to + identify a single transaction. +
+
+
Required if deviceChannel is "01"
+ + +
+
+
+
+
+
+ threeDSServerTransID + +
+
string
+
+
+
+
+
+
+
Required
+ + + + + + + + + + + +
+
+
+ Format: + + uuid + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Universally unique transaction identifier assigned by the 3DS Server + to identify a single transaction. +
+
+
+
+
+
+
+ transStatus + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ One of: +
+ Y + N + U + A + R +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Indicates whether a transaction qualifies as an authenticated + transaction or account verification. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + +
+ Y + + Authentication/ Account 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 +
+ R + + Authentication/ Account Verification Rejected; Issuer is rejecting + authentication/verification and request that authorisation not be + attempted. +
+
+
Required if messageCategory is "01"
+ + + +
+
+
+
+
+
+ transStatusReason + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^\d{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17 + 18 + 19 + 20 + 21 + 22 + 23 + 24 + 25 + 26 + 27 + 28 + 29 + 30 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Provides information on why the Transaction Status field has the + specified value. +
+

Meaning of 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
+ 23 + + Decoupled Authentication required by ACS but not requested by 3DS + Requestor +
+ 24 + + 3DS Requestor Decoupled Max Expiry Time exceeded +
+ 25 + + Decoupled Authentication was provided insufficient time to + authenticate Cardholder. ACS will not make attempt +
+ 26 + + Authentication attempted but not performed by the Cardholder +
+ 27 + + Preferred Authentication Method not supported +
+ 28 + + Validation of content security policy failed +
+ 29 + + Authentication attempted but not completed by the Cardholder. Fall + back to Decoupled Authentication +
+ 30 + + Authentication completed successfully but additional + authentication of the Cardholder required. Reinitiate as Decoupled + Authentication +
+ 31-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+ Required if messageCategory is "01"
+ Required if transStatus is one of [N, U, R]
+
+ + + + + + + +
+
+
+
+
+
+ trustListStatus + +
+
string
+
+
+
+
+
+
Optional
+
+
+ One of: +
+ Y + N + E + P + R + U +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Enables the communication of trusted beneficiary/trustlist status + between the ACS, the DS and the 3DS Requestor. Note: Valid values in + the AReq message are Y or N +
+

Meaning of 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 +
+
+
+
+
+
+ trustListStatusSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^(0[123]|[89][0-9])$ +
+
+ One of: +
+ 01 + 02 + 03 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ This data element will be populated by the system setting Trust List + Status. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + +
+ 01 + 3DS Server
+ 02 + DS
+ 03 + ACS
+ 04-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
Required if trustListStatus is not empty
+ + + + + + + + + + + +
+
+
+
+
+
+ challengeErrorReporting + +
+ +
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW +
+
+
+
+
+
+
+ Required if challengeCancel is one of [09, 10]
+
+ + + + + + + + + + + +
+
+
+
+
+
+ deviceBindingStatus + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06-10 + 11 + 12 + 13 + 14 + 15 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + Device is not bound by Cardholder
+ 02 + Not eligible as determined by issuer
+ 03 + Pending confirmation by Cardholder
+ 04 + Cardholder reject
+ 05 + + Device Binding Status unknown, unavailable, or does not apply +
+ 06-10 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 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 consumers device. For example, a external FIDO + authenticator) +
+ 13 + + Device is bound by Cardholder (Device is bound using data that + includes dynamically) +
+ 14 + + Device is bound by Cardholder (Device is bound using static device + data that has been obtained from the consumers device) +
+ 15 + + Device is bound by Cardholder (Other method) +
+ 16-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
+
+
+
+ deviceBindingStatusSource + +
+
string
+
+
+
+
+
+
+
Conditional
+ + + + + + + + + + + +
+
+
+ Regexp: + ^[0-9]{2}$ +
+
+ One of: +
+ 01 + 02 + 03 +
+
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + +
+ 01 + 3DS Server
+ 02 + DS
+ 03 + ACS
+ 04-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+
+
Required if deviceBindingStatus is not nil
+ + + + + + + + + + + +
+
+
+
+
+
+ transStatusReasonInfo + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Max length: + 256 +
+
+
+
+ Categories: + PA + NPA +
+
+ Channels: + APP + BRW + 3RI +
+
+
+
+
+ Provides additional information on the Transaction Status Reason. +
+
+
+
+
diff --git a/source/_static/threedsrequestorauthenticationinfo_231.html b/source/_static/threedsrequestorauthenticationinfo_231.html new file mode 100644 index 0000000..13764d2 --- /dev/null +++ b/source/_static/threedsrequestorauthenticationinfo_231.html @@ -0,0 +1,238 @@ +
+
+
+ threeDSReqAuthData + +
+
json
+
+
+
+
+
+
Optional
+
+
+ Max length: + 20000 +
+
+
+
+
+ Data that documents and supports a specific authentication process. In + the current version of the specification, this data element is not + defined in detail, however the intention is that for each 3DS + Requestor Authentication Method, this field carry data that the ACS + can use to verify the authentication process. For example, if the 3DS + Requestor Authentication Method is: 03, then this element can carry + information about the provider of the federated ID and related + information. 06, then this element can carry the FIDO attestation data + (including the signature). 07, then this element can carry FIDO + Attestation data with the FIDO assurance data signed. 08, then this + element can carry the SRC assurance data. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ threeDSReqAuthMethod + +
+
string
+
+
+
+
+
+
Optional
+
+
+ One of: +
+ 01 + 02 + 03 + 04 + 05 + 06 + 07 + 08 + 09 + 10 +
+
+
+
+
+
+ Mechanism used by the Cardholder to authenticate to the 3DS Requestor. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 01 + + No 3DS Requestor authentication occurred (i.e., Cardholder “logged + in” as guest) +
+ 02 + + Login to the Cardholder account at the 3DS Requestor system using + 3DS Requestor's own credentials +
+ 03 + + Login to the Cardholder account at the 3DS Requestor system using + federated ID +
+ 04 + + Login to the Cardholder account at the 3DS Requestor system using + Issuer credentials +
+ 05 + + Login to the Cardholder account at the 3DS Requestor system using + third-party authentication +
+ 06 + + Login to the Cardholder account at the 3DS Requestor system using + FIDO Authenticator +
+ 07 + + Login to the Cardholder account at the 3DS Requestor system using + FIDO Authenticator (FIDO Assertion or Attestation data signed) +
+ 08 + SRC Assurance Data
+ 09 + SPC Authentication
+ 10 + Electronic ID Authentication Data
+ 11-79 + + Reserved for EMVCo future use (values invalid until defined by + EMVCo) +
+ 80-99 + Reserved for DS use
+

Scheme specific rules:

+
+
Visa
+
Field is required
+
+
+
+
+
+
+ threeDSReqAuthTimestamp + +
+
string
+
+
+
+
+
+
Optional
+
+
+ Format: + + yyyymmddhhmm + +
+
+
+
+
+ Date and time in UTC of the cardholder authentication. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
diff --git a/source/_static/threedsrequestorpriorauthenticationinfo_220.html b/source/_static/threedsrequestorpriorauthenticationinfo_220.html new file mode 100644 index 0000000..c8455d9 --- /dev/null +++ b/source/_static/threedsrequestorpriorauthenticationinfo_220.html @@ -0,0 +1,184 @@ +
+
+
+ threeDSReqPriorAuthData +
+
string
+
+
+
+
+
Optional
+
+
+ Max length: + 2048 +
+
+
+
+
+ Data that documents and supports a specific authentication process. In + the current version of the specification this data element is not + defined in detail, however the intention is that for each 3DS + Requestor Authentication Method, this field carry data that the ACS + can use to verify the authentication process. In future versions of + the specification, these details are expected to be included. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ threeDSReqPriorAuthMethod +
+
string
+
+
+
+
+
Optional
+
+
+ Regexp: + ^(0[1-4])|([89][1-10])$ +
+
+
+
+
+ Mechanism used by the Cardholder to previously authenticate to the 3DS + Requestor. +
+

Meaning of values:

+ + + + + + + + + + + + + + + + + +
+ 01 + + Frictionless authentication occurred by ACS +
+ 02 + Cardholder challenge occurred by ACS
+ 03 + AVS verified
+ 04 + Other issuer methods
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ threeDSReqPriorAuthTimestamp +
+
string
+
+
+
+
+
Optional
+
+
+ Format: + + yyyymmddhhmm + +
+
+
+
+
+ Date and time in UTC of the prior cardholder authentication. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
+
+ threeDSReqPriorRef +
+
string
+
+
+
+
+
Optional
+
+
+ Max length: + 36 +
+
+
+
+
+ This data element provides additional information to the ACS to + determine the best approach for handing a request. +
+

Scheme specific rules:

+
+
Visa
+
Field is required if available
+
+
+
+
+
diff --git a/source/challenge_flow.rst b/source/challenge_flow.rst index 60d186e..1329619 100644 --- a/source/challenge_flow.rst +++ b/source/challenge_flow.rst @@ -18,9 +18,8 @@ Initiate the challenge ********************** Create a challenge request (CReq: :ref:`2.1.0 `, :ref:`2.2.0 -`), using the transaction ID's received in the ``/auth`` -response (ref. :ref:`2.1.0 `, :ref:`2.1.0 -`). +`, :ref:`2.3.1 `), using the transaction ID's received in the ``/auth`` +response (ref. :ref:`2.1.0 `, :ref:`2.2.0 `, :ref:`2.3.1 `). Add an iframe to the users browser, either statically or using JavaScript. @@ -114,7 +113,7 @@ value can include padding. Here ``transStatus`` will be either ``Y`` or ``N``. You can use the :ref:`postauth-usage` to fetch the result of the challenge (ref. :ref:`2.1.0 -`, :ref:`2.2.0 `). +`, :ref:`2.2.0 `, :ref:`2.3.1 `). Handling timeouts ***************** diff --git a/source/changelog.rst b/source/changelog.rst index 9ceec46..5190309 100644 --- a/source/changelog.rst +++ b/source/changelog.rst @@ -7,10 +7,14 @@ Changelog The source for this documentation is publicly hosted on `Github `_. The full changes can be found in the revision history. -Select changes are added here. Pull requests and issues are welcome. +TBD, 2024 +************* + +#. Added documentation for the ``v2.3.1`` specification. + September 17th, 2024 ********************* diff --git a/source/conf.py b/source/conf.py index 7ef541c..eaf50ad 100644 --- a/source/conf.py +++ b/source/conf.py @@ -18,7 +18,7 @@ # -- Project information ----------------------------------------------------- project = '3DSecure.io' -copyright = '2019, 3DSecure.io' +copyright = '2024, 3DSecure.io' author = '3DSecure.io' diff --git a/source/getting-started.rst b/source/getting-started.rst index cc07524..7e309bb 100644 --- a/source/getting-started.rst +++ b/source/getting-started.rst @@ -95,7 +95,8 @@ The following describes the individual points in the diagram: request originator is a cardholder using a browser. This is opposed to using a SDK or the authentication being Requestor initiated. 2. The ``/preauth`` response (ref. :ref:`2.1.0 `, - :ref:`2.2.0 `) contains: + :ref:`2.2.0 `, + :ref:`2.3.1 `) contains: - Information that might be usable in determining whether to fall back to 3-D Secure v1. @@ -107,7 +108,7 @@ The following describes the individual points in the diagram: the 3-D Secure Server. The Server assembles a ``AReq`` message and transmits it to the Directory Server. 5. The Authentication response (ref. :ref:`2.1.0 `, - :ref:`2.2.0 `) is an ``ARes``, as defined by the + :ref:`2.2.0 `, :ref:`2.3.1 `) is an ``ARes``, as defined by the specification. This ``ARes`` contains either: @@ -123,7 +124,7 @@ The following describes the individual points in the diagram: authentication. 9. Nominally a ``RReq`` is returned to the Requestor. Parameters are detailed in the ``/postauth`` response (ref. :ref:`2.1.0 `, - :ref:`2.1.0 `) section. + :ref:`2.2.0 `, :ref:`2.3.1 `) section. Sandbox environment =================== diff --git a/source/guides.rst b/source/guides.rst index 612d18b..932089d 100644 --- a/source/guides.rst +++ b/source/guides.rst @@ -19,7 +19,7 @@ These guides are designed to assist you in integration by using examples. The pieces of code in the guides must not be used without serious consideration. :ref:`3-D Secure Version Determination <3ds_versioning>` - This is intended to help you decide between using 3-D Secure version 1 and version 2. + This is intended to help you decide between using 3-D Secure minor version 1, 2 and 3. :ref:`3DS Method Invocation <3ds_method>` Guides you through the 3DS Method invocation implementation. diff --git a/source/index.rst b/source/index.rst index 685ed13..1aa8339 100644 --- a/source/index.rst +++ b/source/index.rst @@ -21,7 +21,7 @@ Introduction This is the documentation for the 3-D Secure Server provided by `3dsecure.io`_. It is a Software as a Service (SaaS) implementation, offering a language-agnostic HTTP API integration. This service supports all active versions of 3-D Secure version 2 -(``2.1.0``, ``2.2.0``) and our goal was to make the documentation work on it’s own. +(``2.1.0``, ``2.2.0``, ``2.3.1``) and our goal was to make the documentation work on it’s own. Nevertheless, you may need to refer to the specifications during the implementation. A 3-D Secure Server is used for *cardholder authentication*. An authentication diff --git a/source/preauth.rst b/source/preauth.rst index e693afc..c3c29ee 100644 --- a/source/preauth.rst +++ b/source/preauth.rst @@ -19,15 +19,16 @@ This near-pseudocode describes the flow your code should perform. .. TODO: Add a link to 3dsmethod invocation 1. Generate the input as described in the reference (:ref:`2.1.0 - `, :ref:`2.2.0 `). + `, :ref:`2.2.0 `, :ref:`2.3.1 `). A request might look like: .. code-block:: json - :caption: /preauth example input, same for versions 2.1.0 and 2.2.0 + :caption: /preauth example input, same for all versions { "acctNumber": "4111111111111111", - "ds": "visa" + "ds": "visa", + "maxMessageVersion": "2.3.1", // Optional: defaults to 2.2.0 } 2. Send the request to the 3-D Secure Server. Consult the :ref:`requests guide @@ -80,7 +81,8 @@ If the card number is enrolled for 3-D Secure v2, the response might look something like: .. code-block:: json - :linenos: + :caption: /preauth 2.2.0 example response + :linenos: { "acsStartProtocolVersion": "2.1.0", @@ -131,6 +133,50 @@ something like: "threeDSMethodURL": "https://acs.tld/3dsmethod" } +If ``maxMessageVersion`` is ``2.3.1``, the response will look like this: + +.. code-block:: json + :caption: /preauth 2.3.1 example response + :linenos: + + { + "dsProtocolVersions": [ + "2.2.0", + "2.3.1" + ], + "acsProtocolVersions": [ + { + "version": "2.2.0", + "acsInfoInd": [ + "01", + "02" + ], + "threeDSMethodURL": "https://www.acs.com/script1", + "supportedMsgExt": [ + { + "id": "A000000802-001", + "version": "2.0" + }, + { + "id": "A000000802-004", + "version": "1.0" + } + ] + }, + { + "version": "2.3.1", + "acsInfoInd": [ + "01", + "02", + "03", + "04", + "81" + ], + "threeDSMethodURL": "https://www.acs.com/script3" + } + ] + } + .. note:: When using ``"deviceChannel": "02"`` (BRW) you **must** use the same diff --git a/source/reference.rst b/source/reference.rst index 3f2948a..01030f6 100644 --- a/source/reference.rst +++ b/source/reference.rst @@ -12,6 +12,7 @@ Reference differences specification_210 specification_220 + specification_231 specification_common :ref:`Version 2.1.0 message specification ` @@ -20,5 +21,8 @@ Reference :ref:`Version 2.2.0 message specification ` The specification for the JSON objects contained in version 2.2.0. +:ref:`Version 2.3.1 message specification ` + The specification for the JSON objects contained in version 2.3.1. + :ref:`Common message specification ` - The specification for the JSON objects in common between versions 2.1.0 and 2.2.0. + The specification for the JSON objects in common between versions 2.1.0, 2.2.0 and 2.3.1. diff --git a/source/sandbox.rst b/source/sandbox.rst index 0d1d374..37bfe68 100644 --- a/source/sandbox.rst +++ b/source/sandbox.rst @@ -46,8 +46,8 @@ Message version --------------- This section determines the outcome of the :ref:`preauth `. The response is with -``acsEndProtocolVersion: 2.1.0`` and/or ``acsEndProtocolVersion: 2.2.0``. This means your system should automatically -be able to determine ``messageVersion``. +``acsEndProtocolVersion: 2.1.0``, ``acsEndProtocolVersion: 2.2.0`` and/or ``acsEndProtocolVersion: 2.3.1``. +This means your system should automatically be able to determine ``messageVersion``. Sending a wrong ``messageVersion`` will result in an error. Read :ref:`3-D Secure Version Determination <3ds_versioning>`. @@ -55,27 +55,26 @@ Read :ref:`3-D Secure Version Determination <3ds_versioning>`. .. list-table:: Browser testcases :header-rows: 1 - :widths: 20, 10, 25, 45 * - First digit - PAN last 4 - Description - - Requirements * - 0 - 0xxx - - Range `messageVersion` `2.1` and `2.2` - - n/a + - Range `messageVersion` `2.1`, `2.2` and `2.3.1` * - 1 - 1xxx - `messageVersion` `2.1` - - n/a * - 2 - 2xxx - `messageVersion` `2.2` - - n/a + + * - 3 + - 3xxx + - `messageVersion` `2.3` 3DS Method ----------- @@ -87,27 +86,22 @@ Read :ref:`3DS Method failure <3DS Method failure>` if the 3DS method has a time .. list-table:: Browser testcases :header-rows: 1 - :widths: 20, 10, 25, 45 * - Second digit - PAN last 4 - Description - - Requirements * - 0 - x0xx - With 3DS method included - - n/a * - 1 - x1xx - With 3DS method missing - - n/a * - 2 - x2xx - With 3DS method timeout - - n/a ARes outcome @@ -119,7 +113,6 @@ Read :ref:`Auth usage ` to understand the flow. .. list-table:: Browser testcases :header-rows: 1 - :widths: 20, 10, 25, 45 * - Third digit - PAN last 4 @@ -149,7 +142,7 @@ Read :ref:`Auth usage ` to understand the flow. * - 4 - xx43 - Frictionless `transStatus` `I` - - only supported with `messageVersion 2.2` + - only supported with `messageVersion 2.2` or greater * - 5 - xx53 @@ -180,7 +173,7 @@ Read :ref:`postauth usage ` for understanding how to fetch chall .. list-table:: Browser testcases :header-rows: 1 - :widths: 20, 10, 25, 45 + :widths: 20, 15, 25, 40 * - Fourth digit - PAN last 4 @@ -214,7 +207,7 @@ Browser Examples .. list-table:: Browser testcases :header-rows: 1 - :widths: 20, 10, 15, 25, 45 + :widths: 20, 15, 15, 25, 40 * - Testname - PAN example @@ -262,4 +255,3 @@ Browser Examples - Failed challenge authentication with 3DS Method The challenge will auto-submit using JavaScript - diff --git a/source/server-information.rst b/source/server-information.rst index 3d21050..e2728be 100644 --- a/source/server-information.rst +++ b/source/server-information.rst @@ -39,6 +39,7 @@ Versions supported - 2.1.0 - 2.2.0 +- 2.3.1 .. _requests: @@ -60,7 +61,7 @@ Allowed characters Currently the ``2.1.0`` and ``2.2.0`` specifications only support ASCII characters. - The ``2.3.0.0`` specification has removed any character requirements for + The ``2.3.1`` specification has removed any character requirements for ``cardholderName``, indicating that all ``utf-8`` characters are allowed. It remains unclear if card schemes will allow ``utf-8`` characters. diff --git a/source/specification_210.rst b/source/specification_210.rst index a811631..2899193 100644 --- a/source/specification_210.rst +++ b/source/specification_210.rst @@ -38,7 +38,7 @@ Output (CRD) ------------ .. raw:: html - :file: _static/crd.html + :file: _static/crd_220.html .. _auth-endpoint-210: @@ -163,7 +163,7 @@ ThreeDSRequestorPriorAuthenticationInfo --------------------------------------- .. raw:: html - :file: _static/threedsrequestorpriorauthenticationinfo.html + :file: _static/threedsrequestorpriorauthenticationinfo_220.html ACSRenderingType ---------------- diff --git a/source/specification_220.rst b/source/specification_220.rst index 87a9e30..c2eafa1 100644 --- a/source/specification_220.rst +++ b/source/specification_220.rst @@ -38,7 +38,7 @@ Output (CRD) ------------ .. raw:: html - :file: _static/crd.html + :file: _static/crd_220.html .. _auth-endpoint-220: @@ -162,7 +162,7 @@ ThreeDSRequestorPriorAuthenticationInfo --------------------------------------- .. raw:: html - :file: _static/threedsrequestorpriorauthenticationinfo.html + :file: _static/threedsrequestorpriorauthenticationinfo_220.html ACSRenderingType ---------------- diff --git a/source/specification_231.rst b/source/specification_231.rst new file mode 100644 index 0000000..e97db95 --- /dev/null +++ b/source/specification_231.rst @@ -0,0 +1,171 @@ +.. _specification_231: + +################### +Specification 2.3.1 +################### + +The *scenario selector* below can be used to narrow down the required fields +for a selected authentication scenario. Please note the following: + +1. When ``All`` is selected in both dropdowns, no type filters are applied. + I.e. both ``sdkTransID`` and ``browserUserAgent`` is marked as required, + even though they will never appear in the same message. +2. When a Message Category or a Device Channel is selected, messages will be + filtered if they are not relevant for the selection. The inclusion might + change from e.g. required to optional. + +.. raw:: html + :file: _static/scenario_selector.html + +.. _preauth-endpoint-231: + +``/preauth`` endpoint +===================== + +For usage, refer to :ref:`preauth-usage`. + +.. _preauth-input-231: + +Input +----- + +.. raw:: html + :file: _static/preauth.html + +.. _preauth-response-231: + +Output (CRD) +------------ + +.. raw:: html + :file: _static/crd.html + +.. _auth-endpoint-231: + +``/auth`` endpoint +================== + +For usage, refer to :ref:`auth-usage`. + +.. _auth-input-231: + +Input (AReq) +------------ + +.. raw:: html + :file: _static/areq_231.html + +.. _auth-response-231: + +Output (ARes) +------------- + +.. raw:: html + :file: _static/ares_231.html + +.. _challenge-flow-messages-231: + +Challenge flow +============== + +For usage, refer to :ref:`3ds_challenge_flow`. + +.. _creq-format-231: + +Challenge request (CReq) +------------------------ + +.. raw:: html + :file: _static/creq.html + +.. _final-cres-231: + +Challenge response (CRes) +------------------------- + +.. raw:: html + :file: _static/cres_231.html + +.. _postauth-endpoint-231: + +``/postauth`` endpoint +====================== + +For usage, refer to :ref:`postauth-usage`. + +.. _postauth-input-231: + +Input +----- + +.. raw:: html + :file: _static/postauth.html + +.. _postauth-response-231: + +Output (RReq) +------------- + +.. raw:: html + :file: _static/rreq_231.html + + +Error object +============ + +.. _error-object-231: + +.. raw:: html + :file: _static/erro_231.html + +Nested objects +============== + +ThreeDSRequestorAuthenticationInfo +---------------------------------- + +.. raw:: html + :file: _static/threedsrequestorauthenticationinfo_231.html + +DeviceRenderOptions +------------------- + +.. raw:: html + :file: _static/devicerenderoptions.html + +AcctInfo +-------- + +.. raw:: html + :file: _static/acctinfo.html + +PhoneNumber +----------- + +.. raw:: html + :file: _static/phonenumber.html + +MerchantRiskIndicator +--------------------- + +.. raw:: html + :file: _static/merchantriskindicator.html + +MessageExtension +---------------- + +.. raw:: html + :file: _static/messageextension.html + + +ThreeDSRequestorPriorAuthenticationInfo +--------------------------------------- + +.. raw:: html + :file: _static/threedsrequestorpriorauthenticationinfo.html + +ACSRenderingType +---------------- + +.. raw:: html + :file: _static/acsrenderingtype.html diff --git a/source/specification_common.rst b/source/specification_common.rst index 30699e5..42b9759 100644 --- a/source/specification_common.rst +++ b/source/specification_common.rst @@ -37,13 +37,6 @@ MessageExtension .. raw:: html :file: _static/messageextension.html - -ThreeDSRequestorPriorAuthenticationInfo ---------------------------------------- - -.. raw:: html - :file: _static/threedsrequestorpriorauthenticationinfo.html - ACSRenderingType ---------------- diff --git a/source/usage.rst b/source/usage.rst index 7e9fa55..e086951 100644 --- a/source/usage.rst +++ b/source/usage.rst @@ -3,16 +3,12 @@ API Usage ========= -.. TODO: - - - Insert link to 3dservice 1.0.2 MPI documentation. - **Browser Authentication (BRW device channel)** 1. Use the :ref:`/preauth ` API call to: - Determine if card is enrolled in 3-D Secure v2 - - Determine 3-D Secure v2 protocol version (``v2.1.0`` or ``v2.2.0``) + - Determine 3-D Secure v2 protocol version (``v2.1.0``, ``v2.2.0`` or ``v2.3.1``) - Receive ``threeDSMethodURL`` to determine if the 3DS Method is required 2. Perform :ref:`3DS Method <3ds_method>` if ``threeDSMethodURL`` was @@ -29,7 +25,7 @@ API Usage on the cardholder device. 5. Retrieve values from the ``/postauth`` endpoint (ref. :ref:`2.1.0 - `, :ref:`2.2.0 `) endpoint + `, :ref:`2.2.0 `, :ref:`2.3.1 `) endpoint after challenge flow has completed. **Mobile APP Authentication (SDK device channel)** @@ -42,7 +38,7 @@ API Usage - Determine if card is enrolled in 3-D Secure v2. This is not required, but will determine if authentication should proceed outside the SDK. - - Determine 3-D Secure v2 protocol version (``v2.1.0`` or ``v2.2.0``) + - Determine 3-D Secure v2 protocol version (``v2.1.0``, ``v2.2.0`` or ``v2.3.1``) 2. Perform an authentication using the :ref:`auth-usage` call. @@ -50,7 +46,7 @@ API Usage on the cardholder device. 4. Retrieve values from the ``/postauth`` endpoint (ref. :ref:`2.1.0 - `, :ref:`2.2.0 `) endpoint + `, :ref:`2.2.0 `, :ref:`2.3.1 `) endpoint after challenge flow has completed. **3DS Requestor Initiated Authentication (3RI device channel)** @@ -61,7 +57,7 @@ API Usage 1. Use the :ref:`/preauth ` API call to: - Determine if card is enrolled in 3-D Secure v2 - - Determine 3-D Secure v2 protocol version (``v2.1.0`` or ``v2.2.0``) + - Determine 3-D Secure v2 protocol version (``v2.1.0``, ``v2.2.0`` or ``v2.3.1``) 2. Perform an authentication using the :ref:`auth-usage` call. diff --git a/source/versioning.rst b/source/versioning.rst index 1a45fa1..56f5969 100644 --- a/source/versioning.rst +++ b/source/versioning.rst @@ -3,15 +3,16 @@ 3-D Secure version determination ================================ -There are currently three 3-D Secure versions, ``1.0.2``, ``2.1.0`` and ``2.2.0``. +There are currently three 3-D Secure versions, ``2.1.0``, ``2.2.0`` and ``2.3.1``. 1. If the :ref:`preauth call ` returns a :ref:`not_enrolled`, continue with 3DSv1. -2. If ``acsInfoInd`` (`2.1.0 - `_, `2.2.0 - `_) is included, this - indicates if ACS supports challenges or only attempts. +2. If ``acsInfoInd`` + (`2.1.0 `_, + `2.2.0 `_, + `2.3.1 `_) + is included, this indicates if ACS supports challenges or only attempts. - To select between ``2.1.0`` and ``2.2.0``, we suggest using the highest version + To select between ``2.1.0``, ``2.2.0`` and ``2.3.1``, we suggest using the highest version that all parties support, including your implementation. Exemplified: - If ``dsEndProtocolVersion: 2.2.0`` and ``acsEndProtocolVersion: 2.1.0``, then the ACS