Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 0 additions & 7 deletions source/differences.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,6 @@
New in 2.2.0
############

.. note::

We are working on a better vizualization of the differences between 2.1.0 and
2.2.0.

We are aware that this is not optimal.

Decoupled Authentication
Decoupled authentication is used to authenticate cardholder outside the EMV
3DS protocol. For example the cardholder could be asked to phone her bank.
Expand Down
212 changes: 212 additions & 0 deletions source/differences_v220_v231.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
Differences: v2.2.0 to v2.3.1
=============================================================

This document outlines the differences in message fields between 3D-Secure specification versions 2.2.0 and 2.3.1 for the core message types: AReq, ARes, and RReq.


Summary of Changes
------------------

+--------------+--------------+----------------+------------------------+
| Message Type | Fields Added | Fields Removed | Fields Renamed/Changed |
+==============+==============+================+========================+
| AReq | 25 | 1 | 2 |
+--------------+--------------+----------------+------------------------+
| ARes | 11 | 0 | 3 |
+--------------+--------------+----------------+------------------------+
| RReq | 5 | 0 | 3 |
+--------------+--------------+----------------+------------------------+

AReq Changes
-------------------------------------

New Fields Added in v2.3.1
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
:header-rows: 1
:widths: 30 70

* - Field Name
- Description
* - **acceptLanguage**
- Value representing the Browser language preference present in the HTTP header
* - **appIp**
- External IP address used by the 3DS Requestor App
* - **acquirerCountryCode**
- The code of the country where the acquiring institution is located
* - **acquirerCountryCodeSource**
- System setting the Acquirer Country Code
* - **broadInfo**
- Unstructured information sent between 3DS Server, DS and ACS
* - **cardSecurityCode**
- Three- or four-digit security code printed on the card
* - **deviceBindingStatus**
- Communication of Device Binding Status between ACS, DS and 3DS Requestor
* - **deviceBindingStatusSource**
- System setting Device Binding Status
* - **deviceId**
- Unique and immutable identifier linked to a device
* - **defaultSdkType**
- Characteristics of a Default-SDK
* - **multiTransaction**
- Additional transaction information for multiple transactions or Merchants
* - **payeeOriginAReq**
- Origin of the payee for SPC Transaction Data
* - **payTokenInfo**
- Information about detokenised Payment Token
* - **recurringAmount**
- Recurring amount in minor units of currency
* - **recurringCurrency**
- Currency in which the Recurring Amount is expressed
* - **recurringDate**
- Effective date of the new authorised amount
* - **recurringExponent**
- Minor units of currency for recurring amount
* - **recurringInd**
- Indicates whether recurring/instalment payment has fixed or variable amount and frequency
* - **sdkServerSignedContent**
- JWS object created by the Split-SDK Server for AReq message
* - **sdkSignatureTimestamp**
- Date and time when 3DS SDK generated the Split-SDK Server Signed Content
* - **sdkType**
- Indicates the type of 3DS SDK
* - **sellerInfo**
- Additional transaction information for marketplace transactions
* - **spcIncompInd**
- Reason that SPC authentication was not completed
* - **splitSdkType**
- Characteristics of a Split-SDK
* - **taxId**
- Cardholder's tax identification
* - **threeDSMethodId**
- 3DS Server Transaction ID used during previous 3DS Method execution
* - **threeDSRequestorSpcSupport**
- Indicates if 3DS Requestor supports SPC authentication
* - **userId**
- Identifier of the transacting user's Browser Account ID

Fields Removed in v2.3.1
~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
:header-rows: 1
:widths: 30 70

* - Field Name
- Description
* - **threeDSReqAuthMethodInd**
- Signature verification performed by DS on cardholder authentication mechanism

Fields Renamed/Changed in v2.3.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
:header-rows: 1
:widths: 40 60

* - Old Field Name → New Field Name
- Description
* - **whiteListStatus** → **trustListStatus**
- Communication of trusted beneficiary status
* - **whiteListStatusSource** → **trustListStatusSource**
- System setting Trust List Status

----

ARes Changes
--------------------------------------

New Fields Added in v2.3.1
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
:header-rows: 1
:widths: 30 70

* - Field Name
- Description
* - **broadInfo**
- Unstructured information sent between 3DS Server, DS and ACS
* - **cardSecurityCodeStatus**
- Communication of Card Security Code Status
* - **cardSecurityCodeStatusSource**
- System setting Card Security Code Status
* - **deviceBindingStatus**
- Communication of Device Binding Status
* - **deviceBindingStatusSource**
- System setting Device Binding Status
* - **deviceInfoRecognisedVersion**
- Highest Data Version of Device Information supported by ACS
* - **spcTransData**
- Information for SPC API display in Smart Modal Window
* - **threeDSRequestorAppURLInd**
- Whether OOB Authentication App supports 3DS Requestor App URL
* - **transChallengeExemption**
- Exemption applied by ACS to authenticate without challenge
* - **transStatusReasonInfo**
- Additional information on Transaction Status Reason
* - **webAuthnCredList**
- List of credential IDs registered for Cardholder Account Number


Fields Renamed/Changed in v2.3.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
:header-rows: 1
:widths: 40 60

* - Old Field Name → New Field Name
- Description
* - **authenticationType** → **authenticationMethod**
- Authentication approach used by ACS (expanded enum values)
* - **whiteListStatus** → **trustListStatus**
- Communication of trusted beneficiary status
* - **whiteListStatusSource** → **trustListStatusSource**
- System setting Trust List Status

----

RReq Changes
------------------------------

New Fields Added in v2.3.1
~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
:header-rows: 1
:widths: 30 70

* - Field Name
- Description
* - **cardholderInfo**
- Text provided by ACS/Issuer to Cardholder during transaction
* - **challengeErrorReporting**
- Error reporting for challenge cancellation
* - **deviceBindingStatus**
- Communication of Device Binding Status
* - **deviceBindingStatusSource**
- System setting Device Binding Status
* - **transStatusReasonInfo**
- Additional information on Transaction Status Reason

Fields Renamed/Changed in v2.3.1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. list-table::
:header-rows: 1
:widths: 40 60

* - Old Field Name → New Field Name
- Description
* - **authenticationType** → **authenticationMethod**
- Authentication approach used by ACS
* - **whiteListStatus** → **trustListStatus**
- Communication of trusted beneficiary status
* - **whiteListStatusSource** → **trustListStatusSource**
- System setting Trust List Status

----

*This document reflects the field-level differences between 3D-Secure specification versions 2.2.0 and 2.3.1. For complete implementation details, refer to the official EMVCo 3D-Secure specification documents.*
1 change: 1 addition & 0 deletions source/reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Reference
:caption: Contents:
:hidden:

differences_v220_v231
differences
specification_210
specification_220
Expand Down