Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

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 = 03 - Challenge requested (3DS Requestor preference) 

<ChallengeIndicator>03</ChallengeIndicator>

AuthenticationIndicator = 02 - Recurring transaction

<AuthenticationIndicator>02</AuthenticationIndicator>

PurchaseDate =

Format: YYYYMMDDHHMMSS

<PurchaseDate>20200405112438</PurchaseDate>

RecurringFrequency =

Example values accepted (31 days):

  • 31

  • 031

  • 0031

<RecurringFrequency>31</RecurringFrequency>

RecurringEnd =

Format: YYYYMMDD

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

<RecurringEnd>20210121</RecurringEnd>

Expected Results - Lookup Response (cmpi_lookup)

Enrolled = Y

<Enrolled>Y</Enrolled>

PAResStatus = C

<PAResStatus>C</PAResStatus>

Cavv = (value will not be provided)

<Cavv></Cavv>

EciFlag = 00

<EciFlag>00</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

Expected Results - Authentication (cmpi_authenticate response)

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 07

<EciFlag>07</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

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

<CardinalMPI>
	<MsgType>cmpi_lookup</MsgType>
	<Version>1.7</Version>
	<Algorithm>SHA-512</Algorithm>
	<Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
	<OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
	<Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
	<Timestamp>{{TIMESTAMP}}</Timestamp>
	<TransactionType>C</TransactionType>
	<OrderNumber>12345678</OrderNumber>
	<Amount>94160</Amount>
	<CurrencyCode>840</CurrencyCode>
	<CardNumber>520000******2805</CardNumber>
	<CardExpMonth>01</CardExpMonth>
	<CardExpYear>2023</CardExpYear>
	<BillingFirstName>John</BillingFirstName>
	<BillingMiddleName>S</BillingMiddleName>
	<BillingLastName>Smith</BillingLastName>
	<BillingAddress1>1600 Pennsylvania Blvd.</BillingAddress1>
	<BillingAddress2/>
	<BillingPhone>555-555-5555</BillingPhone>
	<BillingCity>Washington</BillingCity>
	<BillingState>DC</BillingState>
	<BillingPostalCode>10123</BillingPostalCode>
	<BillingCountryCode>US</BillingCountryCode>
	<ShippingFirstName>John</ShippingFirstName>
	<ShippingLastName>Smith</ShippingLastName>
	<ShippingAddress1>1600 Pennsylvania Blvd.</ShippingAddress1>
	<ShippingAddress2/>
	<ShippingPhone>555-555-5555</ShippingPhone>
	<ShippingCity>Washington</ShippingCity>
	<ShippingState>DC</ShippingState>
	<ShippingPostalCode>10123</ShippingPostalCode>
	<ShippingCountryCode>US</ShippingCountryCode>
	<Item_Name_1>CC Car A</Item_Name_1>
	<Item_Desc_1>Model Aqua</Item_Desc_1>
	<Item_Price_1>10000</Item_Price_1>
	<Item_Quantity_1>1</Item_Quantity_1>
	<Item_SKU_1>8675309</Item_SKU_1>
	<PurchaseDate>20200405112438</PurchaseDate>
	<CategoryCode>01</CategoryCode>
	<MessageCategory>01</MessageCategory>
	<BrowserLanguage>English</BrowserLanguage>
	<BrowserColorDepth>500</BrowserColorDepth>
	<BrowserScreenHeight>980</BrowserScreenHeight>
	<BrowserScreenWidth>1080</BrowserScreenWidth>
	<BrowserTimeZone>-1:00</BrowserTimeZone>
	<BrowserJavaEnabled>true</BrowserJavaEnabled>
	<IPAddress>127.0.0.1</IPAddress>
	<UserAgent>Jakarta Commons-HttpClient/3.1</UserAgent>
	<DeviceChannel>02</DeviceChannel>
	<ChallengeIndicator>03</ChallengeIndicator>
	<AuthenticationIndicator>02</AuthenticationIndicator>
	<RecurringEnd>20190121</RecurringEnd>
	<RecurringFrequency>30</RecurringFrequency>
	<CategoryCode>1234</CategoryCode>
	<BrowserHeader>text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</BrowserHeader>
</CardinalMPI>

Sample Lookup Response Message

<CardinalMPI>
    <ErrorNo>0</ErrorNo>
    <TransactionId>IZBMo3zIjEPsnNCcGgN0</TransactionId>
    <Payload></Payload>
    <ErrorDesc></ErrorDesc>
    <Cavv/>
    <PAResStatus>C</PAResStatus>
    <Enrolled>Y</Enrolled>
    <ACSTransactionId>2cf308bf-86fc-4bee-816a-cd38909d0d92</ACSTransactionId>
    <EciFlag>00</EciFlag>
    <ACSUrl></ACSUrl>
    <ThreeDSServerTransactionId>db6e6faf-f7bb-40a1-8c9c-caaad3782458</ThreeDSServerTransactionId>
    <CardBin>520000</CardBin>
    <CardBrand>MASTERCARD</CardBrand>
    <Amount>94160</Amount>
    <DSTransactionId>1c59a512-ab4f-4370-af97-4cfe69b7276e</DSTransactionId>
    <ThreeDSVersion>2.2.0</ThreeDSVersion>
    <CurrencyCode>840</CurrencyCode>
    <OrderId>8000038870456384</OrderId>
    <SignatureVerification>Y</SignatureVerification>
</CardinalMPI>

Sample Authenticate Request Message

<CardinalMPI>
	<MsgType>cmpi_authenticate</MsgType>
	<Algorithm>SHA-512</Algorithm>
	<Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
	<OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
	<Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
	<Timestamp>{{TIMESTAMP}}</Timestamp>
	<TransactionId>{{TRANSACTION_ID}}</TransactionId>
	<OrderId>{{ORDER_ID}}</OrderId>
	<TransactionType>C</TransactionType>
	<Version>1.7</Version>
</CardinalMPI>

Sample Authenticate Response Message

<CardinalMPI>
    <CardBin>520000</CardBin>
    <ThreeDSVersion>2.2.0</ThreeDSVersion>
    <SignatureVerification>Y</SignatureVerification>
    <ErrorDesc />
    <ThreeDSServerTransactionId>c5045efa-1d2c-411f-a605-687bfd1460dd</ThreeDSServerTransactionId>
    <Cavv>MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=</Cavv>
    <Amount>12367</Amount>
    <ErrorNo>0</ErrorNo>
    <EciFlag>02</EciFlag>
    <TransactionId>ADF7ZctbyCVa0xKcivw0</TransactionId>
    <CurrencyCode>840</CurrencyCode>
    <ACSTransactionId>45be5b5a-bd58-4b9d-a298-da2beb339064</ACSTransactionId>
    <DSTransactionId>7f03c3aa-1a28-48eb-a5f7-47da91dd49c3</DSTransactionId>
    <AuthenticationType>03</AuthenticationType>
    <CardBrand>MC</CardBrand>
    <PAResStatus>Y</PAResStatus>
</CardinalMPI>



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)

<MessageCategory>01</MessageCategory>

Device Channel = 3RI (03)

<DeviceChannel>3RI</DeviceChannel>

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

<AlternatePriorAuthenticationData>7f03c3aa-1a28-48eb-a5f7-47da91dd49c3</AlternatePriorAuthenticationData>

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

<AuthenticationIndicator>02</AuthenticationIndicator>

ThreeRIIndicator = 01 - Recurring transaction

<ThreeRIIndicator>01</ThreeRIIndicator>

PurchaseDate =

Format: YYYYMMDDHHMMSS

<PurchaseDate>20230405112438</PurchaseDate>

RecurringFrequency =

Example values accepted (31 days):

  • 31

  • 031

  • 0031

<RecurringFrequency>31</RecurringFrequency>

RecurringEnd =

Format: YYYYMMDD

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

<RecurringEnd>20240121</RecurringEnd>

Expected Results - Lookup Response (cmpi_lookup)

Enrolled = Y

<Enrolled>Y</Enrolled>

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 07

<EciFlag>07</EciFlag>

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

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

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

<CardinalMPI>
  <MsgType>cmpi_lookup</MsgType>
  <Version>1.7</Version>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <Algorithm>SHA-512</Algorithm>
  <Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
  <OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
  <Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
  <Timestamp>{{TIMESTAMP}}</Timestamp>
  <OrderNumber>{{ORDER_NUMBER}}</OrderNumber>
  <CardNumber>{{TEST_CARD_NUMBER}}</CardNumber>
  <TransactionType>C</TransactionType>
  <Amount>94160</Amount>
  <CurrencyCode>840</CurrencyCode>
  <CardExpMonth>06</CardExpMonth>
  <CardExpYear>2022</CardExpYear>
  <BillingFirstName>Harry</BillingFirstName>
  <BillingMiddleName>S</BillingMiddleName>
  <BillingLastName>Truman</BillingLastName>
  <BillingAddress1>8100 Tyler Blvd</BillingAddress1>
  <BillingAddress2 />
  <BillingCity>Mentor</BillingCity>
  <BillingCountryCode>US</BillingCountryCode>
  <BillingPostalCode>10123</BillingPostalCode>
  <CategoryCode>0123</CategoryCode>
  <DeviceChannel>3RI</DeviceChannel>
  <ThreeRIIndicator>01</ThreeRIIndicator>
  <RecurringFrequency>31</RecurringFrequency>
  <RecurringEnd>20220907</RecurringEnd>
  <AuthenticationIndicator>02</AuthenticationIndicator>
  <AlternatePriorAuthenticationData>d1734c35-0663-4138-b472-dd6272aa8f77</AlternatePriorAuthenticationData>
</CardinalMPI>

Sample Response Message

<CardinalMPI>
  <ACSOperatorID>MerchantACS</ACSOperatorID>
  <ErrorDesc></ErrorDesc>
  <ACSUrl></ACSUrl>
  <Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>
  <ErrorNo>0</ErrorNo>
  <EciFlag>07</EciFlag>
  <Enrolled>Y</Enrolled>
  <CurrencyCode>840</CurrencyCode>
  <DSTransactionId>c340528c-1c03-4964-9a32-b9907bb5e048</DSTransactionId>
  <OrderId>8010394438358853</OrderId>
  <CardBrand>MASTERCARD</CardBrand>
  <PAResStatus>Y</PAResStatus>
  <CardBin>520000</CardBin>
  <SignatureVerification>Y</SignatureVerification>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <ThreeDSServerTransactionId>558dccac-45b1-4be4-9949-50a5ee2ec572</ThreeDSServerTransactionId>
  <Amount>94160</Amount>
  <ChallengeRequired></ChallengeRequired>
  <TransactionId>KN3bdqXoE0ZjIptkL9H0</TransactionId>
  <ACSTransactionId>9331946b-7d0a-4df7-8988-1c94b625e552</ACSTransactionId>
  <ACSReferenceNumber>Cardinal ACS</ACSReferenceNumber>
</CardinalMPI>

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)

<MessageCategory>01</MessageCategory>

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

<DeviceChannel>02</DeviceChannel>

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

<ChallengeIndicator>03</ChallengeIndicator>

AuthenticationIndicator = 03 - Installment Transaction

<AuthenticationIndicator>02</AuthenticationIndicator>

PurchaseDate =

Format: YYYYMMDDHHMMSS

<PurchaseDate>20200405112438</PurchaseDate>

RecurringFrequency =

Example values accepted (31 days):

  • 31

  • 031

  • 0031

<RecurringFrequency>31</RecurringFrequency>

RecurringEnd =

Format: YYYYMMDD

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

<RecurringEnd>20210121</RecurringEnd>

Message Category = 01 (PA)

<MessageCategory>01</MessageCategory>

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

<DeviceChannel>02</DeviceChannel>

Expected Results - Lookup Response (cmpi_lookup)

Enrolled = Y

<Enrolled>Y</Enrolled>

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 00

<EciFlag>00</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

Expected Results - Authentication (cmpi_authenticate response)

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 02

<EciFlag>02</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

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.

NOTE: The AAV & DS Txn ID for each authentication is unique and only usable one time. Each authorization requires a new AAV & DS Transaction ID which will need to be received from a 3RI PA or 3RI IDCI.

Sample cmpi_Lookup Request

<CardinalMPI>
	<MsgType>cmpi_lookup</MsgType>
	<Version>1.7</Version>
	<Algorithm>SHA-512</Algorithm>
	<Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
	<OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
	<Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
	<Timestamp>{{TIMESTAMP}}</Timestamp>
	<TransactionType>C</TransactionType>
	<OrderNumber>12345678</OrderNumber>
	<Amount>94160</Amount>
	<CurrencyCode>840</CurrencyCode>
	<CardNumber>520000******2805</CardNumber>
	<CardExpMonth>01</CardExpMonth>
	<CardExpYear>2023</CardExpYear>
	<BillingFirstName>John</BillingFirstName>
	<BillingMiddleName>S</BillingMiddleName>
	<BillingLastName>Smith</BillingLastName>
	<BillingAddress1>1600 Pennsylvania Blvd.</BillingAddress1>
	<BillingAddress2/>
	<BillingPhone>555-555-5555</BillingPhone>
	<BillingCity>Washington</BillingCity>
	<BillingState>DC</BillingState>
	<BillingPostalCode>10123</BillingPostalCode>
	<BillingCountryCode>US</BillingCountryCode>
	<ShippingFirstName>John</ShippingFirstName>
	<ShippingLastName>Smith</ShippingLastName>
	<ShippingAddress1>1600 Pennsylvania Blvd.</ShippingAddress1>
	<ShippingAddress2/>
	<ShippingPhone>555-555-5555</ShippingPhone>
	<ShippingCity>Washington</ShippingCity>
	<ShippingState>DC</ShippingState>
	<ShippingPostalCode>10123</ShippingPostalCode>
	<ShippingCountryCode>US</ShippingCountryCode>
	<Item_Name_1>CC Car A</Item_Name_1>
	<Item_Desc_1>Model Aqua</Item_Desc_1>
	<Item_Price_1>10000</Item_Price_1>
	<Item_Quantity_1>1</Item_Quantity_1>
	<Item_SKU_1>8675309</Item_SKU_1>
	<PurchaseDate>20200405112438</PurchaseDate>
	<CategoryCode>01</CategoryCode>
	<MessageCategory>01</MessageCategory>
	<BrowserLanguage>English</BrowserLanguage>
	<BrowserColorDepth>500</BrowserColorDepth>
	<BrowserScreenHeight>980</BrowserScreenHeight>
	<BrowserScreenWidth>1080</BrowserScreenWidth>
	<BrowserTimeZone>-1:00</BrowserTimeZone>
	<BrowserJavaEnabled>true</BrowserJavaEnabled>
	<IPAddress>127.0.0.1</IPAddress>
	<UserAgent>Jakarta Commons-HttpClient/3.1</UserAgent>
	<DeviceChannel>02</DeviceChannel>
	<ChallengeIndicator>03</ChallengeIndicator>
	<AuthenticationIndicator>03</AuthenticationIndicator>
	<RecurringEnd>20190121</RecurringEnd>
	<RecurringFrequency>31</RecurringFrequency>
	<CategoryCode>1234</CategoryCode>
	<BrowserHeader>text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</BrowserHeader>
</CardinalMPI>

Sample Lookup Response Message

<CardinalMPI>
    <ErrorNo>0</ErrorNo>
    <TransactionId>IZBMo3zIjEPsnNCcGgN0</TransactionId>
    <Payload></Payload>
    <ErrorDesc></ErrorDesc>
    <Cavv/>
    <PAResStatus>Y</PAResStatus>
    <Enrolled>Y</Enrolled>
    <ACSTransactionId>2cf308bf-86fc-4bee-816a-cd38909d0d92</ACSTransactionId>
    <EciFlag>00</EciFlag>
    <ACSUrl></ACSUrl>
    <ThreeDSServerTransactionId>db6e6faf-f7bb-40a1-8c9c-caaad3782458</ThreeDSServerTransactionId>
    <CardBin>520000</CardBin>
    <CardBrand>MC</CardBrand>
    <Amount>94160</Amount>
    <DSTransactionId>1c59a512-ab4f-4370-af97-4cfe69b7276e</DSTransactionId>
    <ThreeDSVersion>2.2.0</ThreeDSVersion>
    <CurrencyCode>840</CurrencyCode>
    <OrderId>8000038870456384</OrderId>
    <SignatureVerification>Y</SignatureVerification>
</CardinalMPI>

Sample Authenticate Request Message

<CardinalMPI>
	<MsgType>cmpi_authenticate</MsgType>
	<Algorithm>SHA-512</Algorithm>
	<Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
	<OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
	<Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
	<Timestamp>{{TIMESTAMP}}</Timestamp>
	<TransactionId>{{TRANSACTION_ID}}</TransactionId>
	<OrderId>{{ORDER_ID}}</OrderId>
	<TransactionType>C</TransactionType>
	<Version>1.7</Version>
</CardinalMPI>

Sample Authenticate Response Message

<CardinalMPI>
    <CardBin>520000</CardBin>
    <ThreeDSVersion>2.2.0</ThreeDSVersion>
    <SignatureVerification>Y</SignatureVerification>
    <ErrorDesc />
    <ThreeDSServerTransactionId>c5045efa-1d2c-411f-a605-687bfd1460dd</ThreeDSServerTransactionId>
    <Cavv>MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=</Cavv>
    <Amount>12367</Amount>
    <ErrorNo>0</ErrorNo>
    <EciFlag>02</EciFlag>
    <TransactionId>ADF7ZctbyCVa0xKcivw0</TransactionId>
    <CurrencyCode>840</CurrencyCode>
    <ACSTransactionId>45be5b5a-bd58-4b9d-a298-da2beb339064</ACSTransactionId>
    <DSTransactionId>7f03c3aa-1a28-48eb-a5f7-47da91dd49c3</DSTransactionId>
    <AuthenticationType>03</AuthenticationType>
    <CardBrand>MC</CardBrand>
    <PAResStatus>Y</PAResStatus>
</CardinalMPI>

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)

<MessageCategory>01</MessageCategory>

Device Channel = 3RI (03)

<DeviceChannel>3RI</DeviceChannel>

AuthenticationIndicator = 02 (Recurring transaction)

<AuthenticationIndicator>02</AuthenticationIndicator>

ThreeRIIndicator = 06 (Split/Delayed Shipment)

<ThreeRIIndicator>06</ThreeRIIndicator>

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

<AlternatePriorAuthenticationData>dsTransID:7f03c3aa-1a28-48eb-a5f7-47da91dd49c3</AlternatePriorAuthenticationData>

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

Format: YYYYMMDDHHMM

<AlternatePriorAuthenticationTime>202304051124</AlternatePriorAuthenticationTime>

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

<AlternatePriorAuthenticationMethod>02</AlternatePriorAuthenticationMethod>

The AlternatePriorAuthenticationMethod value will need to be determined and stored during the initial transaction and sent in on the subsequent request. Merchants should store this value alongside the ACS Transaction Id to meet the requirements of the 3RI request.

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

<AlternatePriorAuthenticationData>7f03c3aa-1a28-48eb-a5f7-47da91dd49c3</AlternatePriorAuthenticationData>

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

Format: YYYYMMDDHHMM

<AlternatePriorAuthenticationTime>202304051124</AlternatePriorAuthenticationTime>

Expected Results - Lookup Response (cmpi_lookup)

Enrolled = Y

<Enrolled>Y</Enrolled>

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 07

<EciFlag>07</EciFlag>

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

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

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

<CardinalMPI>
  <MsgType>cmpi_lookup</MsgType>
  <Version>1.7</Version>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <Algorithm>SHA-512</Algorithm>
  <Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
  <OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
  <Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
  <Timestamp>{{TIMESTAMP}}</Timestamp>
  <OrderNumber>{{ORDER_NUMBER}}</OrderNumber>
  <CardNumber>{{TEST_CARD_NUMBER}}</CardNumber>
  <TransactionType>C</TransactionType>
  <Amount>94160</Amount>
  <CurrencyCode>840</CurrencyCode>
  <CardExpMonth>06</CardExpMonth>
  <CardExpYear>2022</CardExpYear>
  <BillingFirstName>Harry</BillingFirstName>
  <BillingMiddleName>S</BillingMiddleName>
  <BillingLastName>Truman</BillingLastName>
  <BillingAddress1>8100 Tyler Blvd</BillingAddress1>
  <BillingAddress2 />
  <BillingCity>Mentor</BillingCity>
  <BillingCountryCode>US</BillingCountryCode>
  <BillingPostalCode>10123</BillingPostalCode>
  <CategoryCode>0123</CategoryCode>
  <DeviceChannel>3RI</DeviceChannel>
  <AuthenticationIndicator>01</AuthenticationIndicator>
  <ThreeRIIndicator>06</ThreeRIIndicator>
  <AlternatePriorAuthenticationRef>45be5b5a-bd58-4b9d-a298-da2beb339064</AlternatePriorAuthenticationRef>
  <AlternatePriorAuthenticationData>d1734c35-0663-4138-b472-dd6272aa8f77</AlternatePriorAuthenticationData>
  <AlternatePriorAuthenticationTime>202304051124</AlternatePriorAuthenticationTime>
  <AlternatePriorAuthenticationMethod>02</AlternatePriorAuthenticationMethod>
</CardinalMPI>

Sample Response Message

<CardinalMPI>
  <ACSOperatorID>MerchantACS</ACSOperatorID>
  <ErrorDesc></ErrorDesc>
  <ACSUrl></ACSUrl>
  <Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>
  <ErrorNo>0</ErrorNo>
  <EciFlag>07</EciFlag>
  <Enrolled>Y</Enrolled>
  <CurrencyCode>840</CurrencyCode>
  <DSTransactionId>c340528c-1c03-4964-9a32-b9907bb5e048</DSTransactionId>
  <OrderId>8010394438358853</OrderId>
  <CardBrand>MASTERCARD</CardBrand>
  <PAResStatus>Y</PAResStatus>
  <CardBin>520000</CardBin>
  <SignatureVerification>Y</SignatureVerification>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <ThreeDSServerTransactionId>558dccac-45b1-4be4-9949-50a5ee2ec572</ThreeDSServerTransactionId>
  <Amount>94160</Amount>
  <ChallengeRequired></ChallengeRequired>
  <TransactionId>KN3bdqXoE0ZjIptkL9H0</TransactionId>
  <ACSTransactionId>9331946b-7d0a-4df7-8988-1c94b625e552</ACSTransactionId>
  <ACSReferenceNumber>Cardinal ACS</ACSReferenceNumber>
</CardinalMPI>


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)

<MessageCategory>01</MessageCategory>

Device Channel = 3RI (03)

<DeviceChannel>3RI</DeviceChannel>

AuthenticationIndicator = 01 (Payment transaction)

<AuthenticationIndicator>01</AuthenticationIndicator>

ThreeRIIndicator =

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

<ThreeRIIndicator>06</ThreeRIIndicator>

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

<AlternatePriorAuthenticationRef>45be5b5a-bd58-4b9d-a298-da2beb339064</AlternatePriorAuthenticationRef>

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

Format: YYYYMMDDHHMM

<AlternatePriorAuthenticationTime>202304051124</AlternatePriorAuthenticationTime>

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

<AlternatePriorAuthenticationMethod>02</AlternatePriorAuthenticationMethod>

The AlternatePriorAuthenticationMethod value will need to be determined and stored during the initial transaction and sent in on the subsequent request. Merchants should store this value alongside the ACS Transaction Id to meet the requirements of the 3RI request.

Expected Results - Lookup Response (cmpi_lookup)

Enrolled = Y

<Enrolled>Y</Enrolled>

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 05

<EciFlag>05</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

Sample Messages

Sample Lookup Message

<CardinalMPI>
  <MsgType>cmpi_lookup</MsgType>
  <Version>1.7</Version>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <Algorithm>SHA-512</Algorithm>
  <Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
  <OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
  <Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
  <Timestamp>{{TIMESTAMP}}</Timestamp>
  <OrderNumber>{{ORDER_NUMBER}}</OrderNumber>
  <CardNumber>{{TEST_CARD_NUMBER}}</CardNumber>
  <TransactionType>C</TransactionType>
  <Amount>94160</Amount>
  <CurrencyCode>840</CurrencyCode>
  <CardExpMonth>06</CardExpMonth>
  <CardExpYear>2022</CardExpYear>
  <BillingFirstName>Harry</BillingFirstName>
  <BillingMiddleName>S</BillingMiddleName>
  <BillingLastName>Truman</BillingLastName>
  <BillingAddress1>8100 Tyler Blvd</BillingAddress1>
  <BillingAddress2 />
  <BillingCity>Mentor</BillingCity>
  <BillingCountryCode>US</BillingCountryCode>
  <BillingPostalCode>10123</BillingPostalCode>
  <CategoryCode>0123</CategoryCode>
  <DeviceChannel>3RI</DeviceChannel>
  <AuthenticationIndicator>01</AuthenticationIndicator>
  <ThreeRIIndicator>06</ThreeRIIndicator>
  <AlternatePriorAuthenticationRef>45be5b5a-bd58-4b9d-a298-da2beb339064</AlternatePriorAuthenticationRef>
  <AlternatePriorAuthenticationTime>202304051124</AlternatePriorAuthenticationTime>
  <AlternatePriorAuthenticationMethod>02</AlternatePriorAuthenticationMethod>
</CardinalMPI>

Sample Response Message

<CardinalMPI>
  <ACSOperatorID>MerchantACS</ACSOperatorID>
  <ErrorDesc></ErrorDesc>
  <ACSUrl></ACSUrl>
  <Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>
  <ErrorNo>0</ErrorNo>
  <EciFlag>05</EciFlag>
  <Enrolled>Y</Enrolled>
  <CurrencyCode>840</CurrencyCode>
  <DSTransactionId>c340528c-1c03-4964-9a32-b9907bb5e048</DSTransactionId>
  <OrderId>8010394438358853</OrderId>
  <CardBrand>VISA</CardBrand>
  <PAResStatus>Y</PAResStatus>
  <CardBin>400120</CardBin>
  <SignatureVerification>Y</SignatureVerification>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <ThreeDSServerTransactionId>558dccac-45b1-4be4-9949-50a5ee2ec572</ThreeDSServerTransactionId>
  <Amount>94160</Amount>
  <ChallengeRequired></ChallengeRequired>
  <TransactionId>KN3bdqXoE0ZjIptkL9H0</TransactionId>
  <ACSTransactionId>9331946b-7d0a-4df7-8988-1c94b625e552</ACSTransactionId>
  <ACSReferenceNumber>Cardinal ACS</ACSReferenceNumber>
</CardinalMPI>

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

Note: Each participating merchant will be required to send their own CAVV.

Authentication Experience

Frictionless

Test Values

EXP Date: 01/****

Visa PAN: 
2.2 4000000000002701

Required Fields - Lookup Request (cmpi_lookup)

 

Message Category = 01 (PA)

<MessageCategory>01</MessageCategory>

Device Channel = 3RI (03)

<DeviceChannel>3RI</DeviceChannel>

AuthenticationIndicator = 01 (Payment transaction)

<AuthenticationIndicator>01</AuthenticationIndicator>

ThreeRIIndicator =

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

<ThreeRIIndicator>11</ThreeRIIndicator>

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

<AlternatePriorAuthenticationRef>45be5b5a-bd58-4b9d-a298-da2beb339064</AlternatePriorAuthenticationRef>

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

Format: YYYYMMDDHHMMSS

<AlternatePriorAuthenticationTime>20230405112438</AlternatePriorAuthenticationTime>

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

<AlternatePriorAuthenticationMethod>02</AlternatePriorAuthenticationMethod>

The AlternatePriorAuthenticationMethod value will need to be determined and stored during the initial transaction and sent in on the subsequent request. Merchants should store this value alongside the ACS Transaction Id to meet the requirements of the 3RI request.

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

<Enrolled>Y</Enrolled>

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 05

<EciFlag>05</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

Sample cmpi_Lookup Request:

<CardinalMPI>
  <MsgType>cmpi_lookup</MsgType>
  <Version>1.7</Version>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <Algorithm>SHA-512</Algorithm>
  <Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
  <OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
  <Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
  <Timestamp>{{TIMESTAMP}}</Timestamp>
  <OrderNumber>{{ORDER_NUMBER}}</OrderNumber>
  <CardNumber>{{TEST_CARD_NUMBER}}</CardNumber>
  <TransactionType>C</TransactionType>
  <Amount>94160</Amount>
  <CurrencyCode>840</CurrencyCode>
  <CardExpMonth>06</CardExpMonth>
  <CardExpYear>2022</CardExpYear>
  <BillingFirstName>Harry</BillingFirstName>
  <BillingMiddleName>S</BillingMiddleName>
  <BillingLastName>Truman</BillingLastName>
  <BillingAddress1>8100 Tyler Blvd</BillingAddress1>
  <BillingAddress2 />
  <BillingCity>Mentor</BillingCity>
  <BillingCountryCode>US</BillingCountryCode>
  <BillingPostalCode>10123</BillingPostalCode>
  <CategoryCode>0123</CategoryCode>
  <DeviceChannel>3RI</DeviceChannel>
  <AuthenticationIndicator>01</AuthenticationIndicator>
  <ThreeRIIndicator>11</ThreeRIIndicator>
  <AlternatePriorAuthenticationRef>45be5b5a-bd58-4b9d-a298-da2beb339064</AlternatePriorAuthenticationRef>
  <AlternatePriorAuthenticationTime>20230405112438</AlternatePriorAuthenticationTime>
  <AlternatePriorAuthenticationMethod>02</AlternatePriorAuthenticationMethod>
</CardinalMPI>

Sample Response:

<CardinalMPI>
  <ACSOperatorID>MerchantACS</ACSOperatorID>
  <ErrorDesc></ErrorDesc>
  <ACSUrl></ACSUrl>
  <Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>
  <ErrorNo>0</ErrorNo>
  <EciFlag>05</EciFlag>
  <Enrolled>Y</Enrolled>
  <CurrencyCode>840</CurrencyCode>
  <DSTransactionId>c340528c-1c03-4964-9a32-b9907bb5e048</DSTransactionId>
  <OrderId>8010394438358853</OrderId>
  <CardBrand>VISA</CardBrand>
  <PAResStatus>Y</PAResStatus>
  <CardBin>400120</CardBin>
  <SignatureVerification>Y</SignatureVerification>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <ThreeDSServerTransactionId>558dccac-45b1-4be4-9949-50a5ee2ec572</ThreeDSServerTransactionId>
  <Amount>94160</Amount>
  <ChallengeRequired></ChallengeRequired>
  <TransactionId>KN3bdqXoE0ZjIptkL9H0</TransactionId>
  <ACSTransactionId>9331946b-7d0a-4df7-8988-1c94b625e552</ACSTransactionId>
  <ACSReferenceNumber>Cardinal ACS</ACSReferenceNumber>
</CardinalMPI>

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

Note: Each participating merchant will be required to send their own CAVV.

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)

<MessageCategory>01</MessageCategory>

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

<DeviceChannel>02</DeviceChannel>

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

<ChallengeIndicator>03</ChallengeIndicator>

AuthenticationIndicator = 85 (Agent Payment)

<AuthenticationIndicator>85</AuthenticationIndicator>

PurchaseDate =

Format: YYYYMMDDHHMMSS

<PurchaseDate>20200405112438</PurchaseDate>

Expected Results for the Lookup Response

PAResStatus = C

<PAResStatus>Y</PAResStatus>

Enrolled = Y

<Enrolled>Y</Enrolled>

EciFlag = 00

<EciFlag>00</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

Cavv = (value will not be provided)

<Cavv></Cavv>

Expected Results - Authenticate Response (cmpi_lookup)

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 02

<EciFlag>02</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

Sample Request:

<CardinalMPI>
	<MsgType>cmpi_lookup</MsgType>
	<Version>1.7</Version>
	<Algorithm>SHA-512</Algorithm>
	<Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
	<OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
	<Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
	<Timestamp>{{TIMESTAMP}}</Timestamp>
	<TransactionType>C</TransactionType>
	<OrderNumber>12345678</OrderNumber>
	<Amount>94160</Amount>
	<CurrencyCode>840</CurrencyCode>
	<CardNumber>520000******2805</CardNumber>
	<CardExpMonth>01</CardExpMonth>
	<CardExpYear>2023</CardExpYear>
	<BillingFirstName>John</BillingFirstName>
	<BillingMiddleName>S</BillingMiddleName>
	<BillingLastName>Smith</BillingLastName>
	<BillingAddress1>1600 Pennsylvania Blvd.</BillingAddress1>
	<BillingAddress2/>
	<BillingPhone>555-555-5555</BillingPhone>
	<BillingCity>Washington</BillingCity>
	<BillingState>DC</BillingState>
	<BillingPostalCode>10123</BillingPostalCode>
	<BillingCountryCode>US</BillingCountryCode>
	<ShippingFirstName>John</ShippingFirstName>
	<ShippingLastName>Smith</ShippingLastName>
	<ShippingAddress1>1600 Pennsylvania Blvd.</ShippingAddress1>
	<ShippingAddress2/>
	<ShippingPhone>555-555-5555</ShippingPhone>
	<ShippingCity>Washington</ShippingCity>
	<ShippingState>DC</ShippingState>
	<ShippingPostalCode>10123</ShippingPostalCode>
	<ShippingCountryCode>US</ShippingCountryCode>
	<Item_Name_1>CC Car A</Item_Name_1>
	<Item_Desc_1>Model Aqua</Item_Desc_1>
	<Item_Price_1>10000</Item_Price_1>
	<Item_Quantity_1>1</Item_Quantity_1>
	<Item_SKU_1>8675309</Item_SKU_1>
	<PurchaseDate>20200405112438</PurchaseDate>
	<CategoryCode>01</CategoryCode>
	<MessageCategory>01</MessageCategory>
	<BrowserLanguage>English</BrowserLanguage>
	<BrowserColorDepth>500</BrowserColorDepth>
	<BrowserScreenHeight>980</BrowserScreenHeight>
	<BrowserScreenWidth>1080</BrowserScreenWidth>
	<BrowserTimeZone>-1:00</BrowserTimeZone>
	<BrowserJavaEnabled>true</BrowserJavaEnabled>
	<IPAddress>127.0.0.1</IPAddress>
	<UserAgent>Jakarta Commons-HttpClient/3.1</UserAgent>
	<DeviceChannel>02</DeviceChannel>
	<ChallengeIndicator>03</ChallengeIndicator>
	<AuthenticationIndicator>85</AuthenticationIndicator>
	<RecurringEnd>20190121</RecurringEnd>
	<RecurringFrequency>31</RecurringFrequency>
	<CategoryCode>1234</CategoryCode>
	<BrowserHeader>text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8</BrowserHeader>
</CardinalMPI>

Sample Response:

<CardinalMPI>
    <ErrorNo>0</ErrorNo>
    <TransactionId>IZBMo3zIjEPsnNCcGgN0</TransactionId>
    <Payload></Payload>
    <ErrorDesc></ErrorDesc>
    <Cavv/>
    <PAResStatus>C</PAResStatus>
    <Enrolled>Y</Enrolled>
    <ACSTransactionId>2cf308bf-86fc-4bee-816a-cd38909d0d92</ACSTransactionId>
    <EciFlag>00</EciFlag>
    <ACSUrl>https://0merchantacsstag.cardinalcommerce.com/MerchantACSWeb/creq.jsp</ACSUrl>
    <ThreeDSServerTransactionId>db6e6faf-f7bb-40a1-8c9c-caaad3782458</ThreeDSServerTransactionId>
    <CardBin>520000</CardBin>
    <CardBrand>MASTERCARD</CardBrand>
    <Amount>94160</Amount>
    <DSTransactionId>1c59a512-ab4f-4370-af97-4cfe69b7276e</DSTransactionId>
    <ThreeDSVersion>2.2.0</ThreeDSVersion>
    <CurrencyCode>840</CurrencyCode>
    <OrderId>8000038870456384</OrderId>
    <SignatureVerification>Y</SignatureVerification>
</CardinalMPI>

Sample Authenticate Request

<CardinalMPI>
	<MsgType>cmpi_authenticate</MsgType>
	<Algorithm>SHA-512</Algorithm>
	<Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
	<OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
	<Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
	<Timestamp>{{TIMESTAMP}}</Timestamp>
	<TransactionId>{{TRANSACTION_ID}}</TransactionId>
	<OrderId>{{ORDER_ID}}</OrderId>
	<TransactionType>C</TransactionType>
	<Version>1.7</Version>
</CardinalMPI>

Sample Authenticate Response

<CardinalMPI>
    <CardBin>520000</CardBin>
    <ThreeDSVersion>2.2.0</ThreeDSVersion>
    <SignatureVerification>Y</SignatureVerification>
    <ErrorDesc />
    <ThreeDSServerTransactionId>c5045efa-1d2c-411f-a605-687bfd1460dd</ThreeDSServerTransactionId>
    <Cavv>MTIzNDU2Nzg5MDEyMzQ1Njc4OTA=</Cavv>
    <Amount>12367</Amount>
    <ErrorNo>0</ErrorNo>
    <EciFlag>02</EciFlag>
    <TransactionId>ADF7ZctbyCVa0xKcivw0</TransactionId>
    <CurrencyCode>840</CurrencyCode>
    <ACSTransactionId>45be5b5a-bd58-4b9d-a298-da2beb339064</ACSTransactionId>
    <DSTransactionId>7f03c3aa-1a28-48eb-a5f7-47da91dd49c3</DSTransactionId>
    <AuthenticationType>03</AuthenticationType>
    <CardBrand>MC</CardBrand>
    <PAResStatus>Y</PAResStatus>
</CardinalMPI>

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

Note: Each participating merchant will be required to send their own CAVV.

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)

<MessageCategory>01</MessageCategory>

Device Channel = 3RI (03)

<DeviceChannel>3RI</DeviceChannel>

AuthenticationIndicator = 85 (Agent Payment)

<AuthenticationIndicator>85</AuthenticationIndicator>

ThreeRIIndicator =

EMV 3DS 2.2: 85

<ThreeRIIndicator>85</ThreeRIIndicator>

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

<AlternatePriorAuthenticationRef>45be5b5a-bd58-4b9d-a298-da2beb339064</AlternatePriorAuthenticationRef>

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

Format: YYYYMMDDHHMMSS

<AlternatePriorAuthenticationTime>20230405112438</AlternatePriorAuthenticationTime>

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

<AlternatePriorAuthenticationMethod>02</AlternatePriorAuthenticationMethod>

The AlternatePriorAuthenticationMethod value will need to be determined and stored during the initial transaction and sent in on the subsequent request. Merchants should store this value alongside the ACS Transaction Id to meet the requirements of the 3RI request.

Expected Results - Lookup Response (cmpi_lookup)

 

Enrolled = Y

<Enrolled>Y</Enrolled>

PAResStatus = Y

<PAResStatus>Y</PAResStatus>

CAVV = <CAVV Value>

<Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>

EciFlag = 07

<EciFlag>07</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

Sample cmpi_Lookup Request:

<CardinalMPI>
  <MsgType>cmpi_lookup</MsgType>
  <Version>1.7</Version>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <Algorithm>SHA-512</Algorithm>
  <Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
  <OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
  <Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
  <Timestamp>{{TIMESTAMP}}</Timestamp>
  <OrderNumber>{{ORDER_NUMBER}}</OrderNumber>
  <CardNumber>{{TEST_CARD_NUMBER}}</CardNumber>
  <TransactionType>C</TransactionType>
  <Amount>94160</Amount>
  <CurrencyCode>840</CurrencyCode>
  <CardExpMonth>06</CardExpMonth>
  <CardExpYear>2022</CardExpYear>
  <BillingFirstName>Harry</BillingFirstName>
  <BillingMiddleName>S</BillingMiddleName>
  <BillingLastName>Truman</BillingLastName>
  <BillingAddress1>8100 Tyler Blvd</BillingAddress1>
  <BillingAddress2 />
  <BillingCity>Mentor</BillingCity>
  <BillingCountryCode>US</BillingCountryCode>
  <BillingPostalCode>10123</BillingPostalCode>
  <CategoryCode>0123</CategoryCode>
  <DeviceChannel>3RI</DeviceChannel>
  <AuthenticationIndicator>85</AuthenticationIndicator>
  <ThreeRIIndicator>85</ThreeRIIndicator>
  <AlternatePriorAuthenticationData>dsTransID:d1734c35-0663-4138-b472-dd6272aa8f77</AlternatePriorAuthenticationData>
</CardinalMPI>

Sample Response:

<CardinalMPI>
  <ACSOperatorID>MerchantACS</ACSOperatorID>
  <ErrorDesc></ErrorDesc>
  <ACSUrl></ACSUrl>
  <Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv>
  <ErrorNo>0</ErrorNo>
  <EciFlag>07</EciFlag>
  <Enrolled>Y</Enrolled>
  <CurrencyCode>840</CurrencyCode>
  <DSTransactionId>c340528c-1c03-4964-9a32-b9907bb5e048</DSTransactionId>
  <OrderId>8010394438358853</OrderId>
  <CardBrand>MASTERCARD</CardBrand>
  <PAResStatus>Y</PAResStatus>
  <CardBin>520000</CardBin>
  <SignatureVerification>Y</SignatureVerification>
  <ThreeDSVersion>2.2.0</ThreeDSVersion>
  <ThreeDSServerTransactionId>558dccac-45b1-4be4-9949-50a5ee2ec572</ThreeDSServerTransactionId>
  <Amount>94160</Amount>
  <ChallengeRequired></ChallengeRequired>
  <TransactionId>KN3bdqXoE0ZjIptkL9H0</TransactionId>
  <ACSTransactionId>9331946b-7d0a-4df7-8988-1c94b625e552</ACSTransactionId>
  <ACSReferenceNumber>Cardinal ACS</ACSReferenceNumber>
</CardinalMPI>

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)

<MessageCategory>02</MessageCategory>

DeviceChannel = 3RI (03)

<DeviceChannel>3RI</DeviceChannel>

ThreeRIIndicator = 01

<ThreeRIIndicator>01</ThreeRIIndicator>

Expected Results - Lookup Response (cmpi_lookup)

Enrolled = Y

<Enrolled>Y</Enrolled>

PAResStatus = U

<PAResStatus>U</PAResStatus>

Cavv = (value will not be provided)

<Cavv></Cavv>

EciFlag = 07

<EciFlag>07</EciFlag>

ErrorNo = 0

<ErrorNo>0</ErrorNo>

ErrorDesc = (value will not be provided)

<ErrorDesc></ErrorDesc>

StatusReason = 21

<StatusReason>21</StatusReason>

Sample cmpi_lookup Request

<CardinalMPI>
    <MsgType>cmpi_lookup</MsgType>
    <Algorithm>SHA-512</Algorithm>
	<Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
	<OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
	<Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
	<Timestamp>{{TIMESTAMP}}</Timestamp>
    <OrderNumber>{{ORDER_NUMBER}}</OrderNumber>
    <CardNumber>{{TEST_CARD_NUMBER}}</CardNumber>
    <CardExpMonth>06</CardExpMonth>
    <CardExpYear>2022</CardExpYear>
    <AcquirerId>428448</AcquirerId>
    <AcquirerMerchantId>980020230994</AcquirerMerchantId>
    <ACSWindowSize>05</ACSWindowSize>
    <BillingAddress1>8100 Tyler Blvd</BillingAddress1>
    <BillingAddress2 />
    <BillingCity>Mentor</BillingCity>
    <BillingCountryCode>US</BillingCountryCode>
    <BillingFirstName>Chris</BillingFirstName>
    <BillingLastName>Brown</BillingLastName>
    <BillingPostalCode>K44060</BillingPostalCode>
    <BillingState>OH</BillingState>
    <UserAgent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36</UserAgent>
    <DFReferenceId>{{DF_REFERENCE_ID}}</DFReferenceId>
    <BrowserHeader>text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8</BrowserHeader>
    <BrowserJavaEnabled>True</BrowserJavaEnabled>
    <BrowserLanguage>en-US</BrowserLanguage>
    <BrowserColorDepth>24</BrowserColorDepth>
    <BrowserScreenHeight>864</BrowserScreenHeight>
    <BrowserScreenWidth>1536</BrowserScreenWidth>
    <BrowserTimeZone>300</BrowserTimeZone>
    <CategoryCode>5999</CategoryCode>
    <CurrencyCode>USD</CurrencyCode>
    <Amount>12367</Amount>
    <DeviceChannel>3RI</DeviceChannel>
    <MessageCategory>02</MessageCategory>
    <ThreeRIIndicator>01</ThreeRIIndicator>
    <Email>support@cardinalcommerce.com</Email>
    <IPAddress>1.12.123.255</IPAddress>
    <TransactionMode>S</TransactionMode>
    <TransactionType>C</TransactionType>
    <Version>1.7</Version>
</CardinalMPI>

Sample cmpi_Lookup Response

<CardinalMPI>
    <ErrorNo>0</ErrorNo>
    <TransactionId>0TmYenYQaThUv4nrJKi0</TransactionId>
    <Payload/>
    <ErrorDesc/>
    <Cavv/>
    <PAResStatus>U</PAResStatus>
    <Enrolled>Y</Enrolled>
    <ACSTransactionId>c05374b4-65b3-4b9b-8dd3-9d2ed9c80d99</ACSTransactionId>
    <EciFlag>07</EciFlag>
    <ACSUrl/>
    <ThreeDSServerTransactionId>62615477-4210-4272-80b0-de04bfab191d</ThreeDSServerTransactionId>
    <CardBin>400000</CardBin>
    <CardBrand>VISA</CardBrand>
    <StatusReason>21</StatusReason>
    <DSTransactionId>6b8c2d65-58a0-4e00-a183-b325c3b0fbde</DSTransactionId>
    <ThreeDSVersion>2.1.0</ThreeDSVersion>
    <OrderId>8000009746159791</OrderId>
    <ChallengeRequired/>
    <SignatureVerification>Y</SignatureVerification>
</CardinalMPI>

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.

  • No labels