3RI with EMV 3DS Additional Test Cases

The 3RI with EMV® 3DS Additional Test Case guide explores alternative authentication options outside the typical testing scenarios which require a more tailored approach. These test cases can vary by card brand/scheme, and it is important to note that you should work with your account representative at Cardinal Commerce prior to proceeding.


Test Case 1: Recurring Payments - Fixed Amount

1a. Initial/First Recurring Transaction

Scenario 

Merchant is initiating a 3RI Recurring transaction that is a fixed amount for a set or of no established expiry (Subscription purchases).

Cardinal Scenario Recommendation

Step 1: Merchant initiates transaction in the amount of $50.00 USD (Currency can be modified to the merchant's currency support if it is not in USD)

Step 2: Pass AuthenticationIndicator as 02 for Recurring Transaction

Step 3: Set RecurringEnd to 12 months in the future and RecurringFrequency for 30 (Days)

Authentication Experience

Challenged

Test Values

 

EXP Date: 01/****

Mastercard PAN: 
2.2.0: 5200000000002805

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

<MessageCategory>01</MessageCategory>

Device Channel = APP (01), BROWSER (02)

<DeviceChannel>02</DeviceChannel>

ChallengeIndicator = 04 - Challenge requested (Mandated) 

<ChallengeIndicator>04</ChallengeIndicator>

AuthenticationIndicator = 02 - Recurring transaction

PurchaseDate =

Format: YYYYMMDDHHMMSS

RecurringFrequency =

Example values accepted (31 days):

  • 31

  • 031

  • 0031

RecurringEnd =

Format: YYYYMMDD

Note: It is recommended not to exceed 12 months from PurchaseDate for recurring expiry

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

PAResStatus = C

Cavv = (value will not be provided)

EciFlag = 00

ErrorNo = 0

ErrorDesc = (value will not be provided)

Expected Results - Authentication (cmpi_authenticate response)

 

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 07

ErrorNo = 0

ErrorDesc = (value will not be provided)

Card Network & Version Specifications

Visa Secure 2.1

Not Supported

Visa Secure 2.2

Not Applicable

Mastercard Identity Check 2.1

For Mastercard Identity Check 2.1, 3RI is not supported for Payment Authentication (PA). Due to this, only the initial transaction is supported for Recurring Payments.

If you attempt to run a Device Channel of 3RI within Mastercard Identity Check 2.1, you will receive a transStatusReason=21 (3RI Transaction not Supported). In this case, you will also receive a transaction status of “U” rather than “Y”.

Mastercard Identity Check 2.2

EMV® 3DS 2.2 supports 3RI payments and this allows the subsequent recurring transactions to be submitted to authentication. ^

^ via Mastercard Identity Check Program Guide. 19 November 2019.

Additional Information

Visa Secure

N/A

Mastercard Identity Check

Mastercard has allocated a new ECI value, ECI 07, for 3RI transactions. This will be present on a Mastercard response message for this particular 3RI scenario.

Sample Messages

Sample Lookup Request Message

Sample Lookup Response Message

Sample Authenticate Request Message

Sample Authenticate Response Message




1b. Recurring Payments - Subsequent Transaction (Mastercard)

Scenario 

Merchant is running a subsequent 3RI recurring transaction that is a fixed amount for a set or of no established expiry (e.g., subscription purchases).

Authentication Experience

Frictionless

Test Values

 

EXP Date: 01/****

Mastercard PAN: 
2.2.0: 5200000000002235

NOTE: Normally, merchants would use the same PAN as indicated in Test Case 1a. Initial/First Recurring Transaction. At this time, this functionality is not supported in our test environment.

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

Device Channel = 3RI (03)

Alternate Prior Authentication Data = DSTransactionId from initial transaction (available on Lookup Response)

Note: The presence of DS transaction ID in the AlternatePriorAuthenticationData field is a requirement for 3RI payment transactions for recurring payments.

AuthenticationIndicator = 03 -Installment transaction

ThreeRIIndicator = 01 - Recurring transaction

PurchaseDate =

Format: YYYYMMDDHHMMSS

RecurringFrequency =

Example values accepted (31 days):

  • 31

  • 031

  • 0031

RecurringEnd =

Format: YYYYMMDD

Note: It is recommended not to exceed 12 months from PurchaseDate for recurring expiry

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 07

Please note that the ECI flag currently being returned is 02. However, in a Production environment, merchants should anticipate receiving an ECI flag of 07.

ErrorNo = 0

ErrorDesc = (value will not be provided)

Additional Information

Mastercard Identity Check

Mastercard has allocated a new ECI value, ECI 07, for 3RI transactions. This will be present on a Mastercard response message for this particular 3RI scenario.

Sample Messages

Sample Lookup Message

Sample Response Message

 

Test Case 2: Installment

2a. Installment - Customer Initiated Transaction (Mastercard)

Scenario 

An initial authentication for the total amount that the installments will amount to. Once this initial authentication is completed by the customer the subsequent installments will not require authentication and instead will jump right to authorization, per MasterCard’s preferred process.

Authentication Experience

Customer Initiated Frictionless Transaction

Test Values

 

EXP Date: 01/****

PAN: Mastercard PAN:  5200000000002805

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

Device Channel = APP (01), BROWSER (02)

ChallengeIndicator = 04 - Challenge requested (Madated) 

AuthenticationIndicator = 03 - Installment Transaction

PurchaseDate =

Format: YYYYMMDDHHMMSS

RecurringFrequency =

Example values accepted (31 days):

  • 31

  • 031

  • 0031

RecurringEnd =

Format: YYYYMMDD

Note: It is recommended not to exceed 12 months from PurchaseDate for recurring expiry

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 00

ErrorNo = 0

ErrorDesc = (value will not be provided)

Expected Results - Authentication (cmpi_authenticate response)

 

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 02

ErrorNo = 0

ErrorDesc = (value will not be provided)

Additional Information

Mastercard Identity Check

Mastercard has allocated a new ECI value, ECI 07, for 3RI transactions. This will be present on a Mastercard response message for this particular 3RI scenario.

NOTE: DS Txn ID for the initial transaction is always reference in the subsequent recurring
transactions.

Sample cmpi_Lookup Request

Sample Lookup Response Message

Sample Authenticate Request Message

Sample Authenticate Response Message

Test Case 3: Split/Delayed or Partial Shipment (3RI)

3a. Split/Partial Shipment (Mastercard)

Scenario 

A purchase includes multiple items that are made available to the consumer at different periods. For example, an order contains backordered or preordered items.

Note: During the initial purchase, an authentication should be completed using the full amount total (including products not yet to be shipped).

Authentication Experience

Frictionless

Test Values

 

EXP Date: 01/****

Mastercard PAN: 
2.2.0: 5200000000002235

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

Device Channel = 3RI (03)

AuthenticationIndicator = 02 (Recurring transaction)

ThreeRIIndicator = 06 (Split/Delayed Shipment)

Alternate Prior Authentication Data = DSTransactionId from initial transaction (available on Lookup Response)

Alternate Prior Authentication Time = Date and time in UTC of the prior cardholder authentication.

Format: YYYYMMDDHHMM

Alternate Prior Authentication Method = 02 - Cardholder challenge occurred by ACS

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 07

ErrorNo = 0

ErrorDesc = (value will not be provided)

Card Network & Version Specifications

Mastercard Identity Check 2.1

For Mastercard Identity Check 2.1, 3RI is not supported for Payment Authentication (PA).

If you attempt to run a Device Channel of 3RI within Mastercard Identity Check 2.1, you will receive a transStatusReason=21 (3RI Transaction not Supported). In this case, you will also receive a transaction status of “U” rather than “Y”.

Additional Information

Mastercard Identity Check

Mastercard has allocated a new ECI value, ECI 07, for 3RI transactions. This will be present on a Mastercard response message for this particular 3RI scenario.

Sample Messages

Sample Lookup Message

Sample Response Message

 


3b. Split/Delayed Shipment (Visa)

Scenario 

A purchase includes multiple items that are made available to the consumer at different periods. For example, an order contains backordered or preordered items.

Note: During the initial purchase, an authentication should be completed using the full amount total (including products not yet to be shipped).

Authentication Experience

Frictionless

Test Values

 

EXP Date: 01/****

Visa PAN: 

2.2.0: 4000000000002701

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

Device Channel = 3RI (03)

AuthenticationIndicator = 01 (Payment transaction)

ThreeRIIndicator =

EMV 3DS 2.2: 06 (Split/Delayed Shipment)

Alternate Prior Authentication Ref = ACSTransactionId from initial transaction (available on Lookup Response)

Alternate Prior Authentication Time = Date and time in UTC of the prior cardholder authentication.

Format: YYYYMMDDHHMM

Alternate Prior Authentication Method = 02 - Cardholder challenge occurred by ACS

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 05

ErrorNo = 0

ErrorDesc = (value will not be provided)

Sample Messages

Sample Lookup Message

Sample Response Message

 

Test Case #4 OTA Test Cases

4a. Multi-Party Commerce or OTA (Visa)

Scenario 

Multi-Party Commerce is when a travel booking merchant creates a multi-party transaction for the cardholder, where participating merchants are required to authorize on flights, hotels, and car rentals etc. This uses case addresses what these participating merchants are required to send for a successful transaction

Authentication Experience

Frictionless

Test Values

 

EXP Date: 01/****

Visa PAN: 
2.2 4000000000002701

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

Device Channel = 3RI (03)

AuthenticationIndicator = 01 (Payment transaction)

ThreeRIIndicator =

EMV 3DS 2.2: 11 (Other Payment) or 16 (Split Payment) with a message extension

Alternate Prior Authentication Ref = ACSTransactionId from initial transaction (available on Lookup Response)

Alternate Prior Authentication Time = Date and time in UTC of the prior cardholder authentication.

Format: YYYYMMDDHHMMSS

Alternate Prior Authentication Method = 02 - Cardholder challenge occurred by ACS

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 05

ErrorNo = 0

ErrorDesc = (value will not be provided)

Sample cmpi_Lookup Request:

 

Sample Response:

4b. Multi-Party Commerce or OTA (MasterCard)

Scenario 

Multi-Party Commerce is when a travel booking merchant creates a multi-party transaction for the cardholder, where participating merchants are required to authorize on flights, hotels, and car rentals etc. This uses case addresses what these participating merchants are required to send for a successful transaction

Authentication Experience

Customer Initiated Frictionless

Test Values

 

EXP Date: 01/****

MasterCard PAN: 
2.2 5200000000002805

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

Device Channel = APP (01), BROWSER (02)

ChallengeIndicator = 03 - Challenge requested (3DS Requestor preference) 

AuthenticationIndicator = 85 (Agent Payment)

PurchaseDate =

Format: YYYYMMDDHHMMSS

Expected Results for the Lookup Response

 

PAResStatus = C

Enrolled = Y

EciFlag = 00

ErrorNo = 0

ErrorDesc = (value will not be provided)

Cavv = (value will not be provided)

Expected Results - Authenticate Response (cmpi_lookup)

 

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 02

ErrorNo = 0

ErrorDesc = (value will not be provided)

Sample Request:

 

Sample Response:

Sample Authenticate Request

Sample Authenticate Response

 

 

 

4c. Multi-Party Commerce or OTA (MasterCard)

Scenario 

Multi-Party Commerce is when a travel booking merchant creates a multi-party transaction for the cardholder, where participating merchants are required to authorize on flights, hotels, and car rentals etc. This uses case addresses what these participating merchants are required to send for a successful transaction

Authentication Experience

Merchant Initiated Frictionless

Test Values

 

EXP Date: 01/****

MasterCard PAN: 
2.2 TBD

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

Device Channel = 3RI (03)

AuthenticationIndicator = 85 (Agent Payment)

ThreeRIIndicator =

EMV 3DS 2.2: 85

Alternate Prior Authentication Ref = ACSTransactionId from initial transaction (available on Lookup Response)

Alternate Prior Authentication Time = Date and time in UTC of the prior cardholder authentication.

Format: YYYYMMDDHHMMSS

Alternate Prior Authentication Method = 02 - Cardholder challenge occurred by ACS

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

PAResStatus = Y

CAVV = <CAVV Value>

EciFlag = 07

ErrorNo = 0

ErrorDesc = (value will not be provided)

Sample cmpi_Lookup Request:

Sample Response:

Test Case #5 3RI Transaction not Supported

5. 3RI transaction not supported

Scenario 

21 - 3RI transaction not supported

Authentication Experience

Frictionless

Test Values

 

EXP Date: 01/****

Visa PAN: 
2.1.0: 4000000000002248

Required Fields - Lookup Request (cmpi_lookup)

 

MessageCategory = 02 (NPA)

DeviceChannel = 3RI (03)

ThreeRIIndicator = 01

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

PAResStatus = U

Cavv = (value will not be provided)

EciFlag = 07

ErrorNo = 0

ErrorDesc = (value will not be provided)

StatusReason = 21

Sample cmpi_lookup Request

Sample cmpi_Lookup Response

EMV® is a registered trademark in the U.S. and other countries and an unregistered trademark elsewhere. The EMV trademark is owned by EMVCo, LLC.