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 merchants 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: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
Message Category =
| ||
Device Channel =
| ||
ChallengeIndicator =
| ||
AuthenticationIndicator =
| ||
PurchaseDate = Format: YYYYMMDDHHMMSS
| ||
RecurringFrequency = Example values accepted (31 days):
| ||
RecurringEnd = Format: YYYYMMDD Note: It is recommended not to exceed 12 months from PurchaseDate for recurring expiry
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
Enrolled =
| ||
PAResStatus =
| ||
Cavv = (value will not be provided)
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
Expected Results - Authentication (cmpi_authenticate response) | ||
PAResStatus =
| ||
CAVV = <CAVV Value>
| ||
EciFlag =
| ||
ErrorNo =
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:
| ||
Required Fields - Lookup Request (cmpi_lookup) | ||
Message Category =
| ||
Device Channel =
| ||
Alternate Prior Authentication Data = DS TransactionId from initial transaction (available on Lookup Response)
Note: The presence of DS transaction ID in the | ||
Alternate Prior Authentication Ref = ACS TransactionId from initial transaction (available on Lookup Response)
Note: The presence of ACS transaction ID in the | ||
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
| ||
AuthenticationIndicator =
| ||
ThreeRIIndicator = 01 - Recurring transaction
| ||
PurchaseDate = Format: YYYYMMDDHHMMSS
| ||
RecurringFrequency = Example values accepted (31 days):
| ||
RecurringEnd = Format: YYYYMMDD Note: It is recommended not to exceed 12 months from PurchaseDate for recurring expiry
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
Enrolled =
| ||
PAResStatus =
| ||
CAVV = <CAVV Value>
| ||
EciFlag =
| ||
ErrorNo =
| ||
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
|
NOTE: Visa cards will be used for all Trans Status Reason test cases, however, these values can (and will) be returned for all card networks. |
2a. Card Authentication Failed | ||
Scenario | 01 - Card Authentication Failed | |
Authentication Experience | Frictionless | |
Test Values | EXP Date: 01/**** | |
Visa PAN: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
No specific callouts for fields; transStatusReason will be returned based on the PAN. | ||
Expected Results - Lookup Response (cmpi_lookup) | ||
Enrolled =
| ||
PAResStatus =
| ||
Cavv = (value will not be provided)
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
StatusReason =
| ||
Additional Information | ||
Test Case can apply to PA or NPA transactions. | ||
When PAResStatus= |
Sample Messages | |
Sample Lookup Message
| |
Sample Response Message
|
2b. Suspected Fraud | ||
Scenario | 11 - Suspected Fraud | |
Authentication Experience | Frictionless | |
Test Values | EXP Date: 01/**** | |
Visa PAN: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
No specific callouts for fields; transStatusReason will be returned based on the PAN. | ||
Expected Results - Lookup Response (cmpi_lookup) | ||
Enrolled =
| ||
PAResStatus =
| ||
Cavv = (value will not be provided)
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
StatusReason =
| ||
Additional Information | ||
Test Case can apply to PA or NPA transactions. |
Sample Messages | |
Sample Lookup Message
| |
Sample Response Message
|
2c. Cardholder Not Enrolled in Service | ||
Scenario | 13 - Cardholder Not Enrolled in Service | |
Authentication Experience | Frictionless | |
Test Values | EXP Date: 01/**** | |
Visa PAN: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
No specific callouts for fields; transStatusReason will be returned based on the PAN. | ||
Expected Results - Lookup Response (cmpi_lookup) | ||
Enrolled =
| ||
PAResStatus =
| ||
Cavv = (value will not be provided)
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
StatusReason =
| ||
Additional Information | ||
Test Case can apply to PA or NPA transactions. |
Sample Messages | |
Sample Lookup Message
| |
Sample Response Message
|
2d. Transaction timed out at the ACS | ||
Scenario | 14 - Transaction timed out at the ACS | |
Authentication Experience | Frictionless | |
Test Values | EXP Date: 01/**** | |
Visa PAN: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
No specific callouts for fields; transStatusReason will be returned based on the PAN. | ||
Expected Results - Lookup Response (cmpi_lookup) | ||
Enrolled =
| ||
PAResStatus =
| ||
Cavv = (value will not be provided)
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
StatusReason =
| ||
Additional Information | ||
Test Case can apply to PA or NPA transactions. |
Sample Messages | |
Sample Lookup Message
| |
Sample Response Message
|
2e. Non-Payment transaction not supported | ||
Scenario | 20 - Non-Payment transaction not supported | |
Authentication Experience | Frictionless | |
Test Values | EXP Date: 01/**** | |
Visa PAN: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
No specific callouts for fields; transStatusReason will be returned based on the PAN. | ||
Expected Results - Lookup Response (cmpi_lookup) | ||
Enrolled =
| ||
PAResStatus =
| ||
Cavv = (value will not be provided)
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
StatusReason =
| ||
Additional Information | ||
Test Case can apply to PA or NPA transactions. |
Sample Messages | |
Sample Lookup Message
| |
Sample Response Message
|
2f. 3RI transaction not supported | ||
Scenario | 21 - 3RI transaction not supported | |
Authentication Experience | Frictionless | |
Test Values | EXP Date: 01/**** | |
Visa PAN: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
MessageCategory =
| ||
DeviceChannel =
| ||
ThreeRIIndicator =
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
Enrolled =
| ||
PAResStatus =
| ||
Cavv = (value will not be provided)
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
StatusReason =
|
Sample Messages | |
Sample Lookup Message
| |
Sample Response Message
|
3a. Transaction Risk Analysis (TRA) / Low Value - Mastercard | ||
Scenario | Merchant has performed a proprietary risk assessment and is requesting a Transaction Risk Analysis (Low Risk) or Low Value exemption based on fraud thresholds established with the network. | |
Authentication Experience | Frictionless | |
Test Values | EXP Date: 01/**** | |
Mastercard PAN | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
ChallengeIndicator = 05 - No challenge requested (transactional risk analysis is already performed)
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
EMV 3DS (2.1.0 Results) | ||
Enrolled =
| ||
PAResStatus =
| ||
Cavv = <Cavv Value>
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
StatusReason =
| ||
EMV 3DS (2.2.0 Results) | ||
Enrolled =
| ||
| PAResStatus =
| |
| Cavv = <Cavv Value>
| |
| EciFlag =
| |
| ErrorNo =
| |
| ErrorDesc = (value will not be provided)
| |
Card Network & Version Specifications | ||
Mastercard Identity Check 2.1 | Supported through /wiki/spaces/STAG/pages/1487667238 In this case, ChallengeIndicator on the Lookup should be passed as “05” and Centinel will remap this value to the Extension field. | |
Mastercard Identity Check 2.2 | Cardinal support for Mastercard Identity Check 2.2 is coming soon. | |
Additional Information | ||
Merchant Action | Proceed to Authorization You may also request the TRA exemption directly in authorization depending on region and your agreements with your Acquirer and the networks. |
Sample Messages | |
Sample Lookup Request Message
| |
Sample Lookup Response Message
|
3b. Transaction Risk Analysis (TRA) / Low Value - Visa | ||
Scenario | Merchant has performed a proprietary risk assessment and is requesting a Transaction Risk Analysis (Low Risk) or Low Value exemption based on fraud thresholds established with the network. | |
Authentication Experience | Frictionless | |
Test Values
| EXP Date: 01/**** | |
Visa PAN: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
| ChallengeIndicator = 05 - No challenge requested (transactional risk analysis is already performed)
| |
Expected Results - Lookup Response (cmpi_lookup) | ||
| Enrolled =
| |
PAResStatus =
| ||
Cavv = <Cavv Value>
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
Card Network & Version Specifications | ||
Visa Secure 2.1 | Not Supported | |
Visa Secure 2.2 | You will need to work with your Acquirer to ensure the TRA flag is added in Field 34 along with providing the CAVV in the Authorization message. | |
Additional Information | ||
Merchant Action | Proceed to Authorization You may also request the TRA exemption directly in authorization depending on region and your agreements with your Acquirer and the networks. |
Sample Messages | |
Sample Lookup Request Message
| |
Sample Lookup Response Message
|
3c. Transaction Risk Analysis (TRA) / Low Value - Discover | ||
Scenario | Merchant has performed a proprietary risk assessment and is requesting a Transaction Risk Analysis (Low Risk) or Low Value exemption based on fraud thresholds established with the network. | |
Authentication Experience | Frictionless | |
Test Values
| EXP Date: 01/**** | |
Discover PAN: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
| ChallengeIndicator = 05 - No challenge requested (transactional risk analysis is already performed)
| |
Expected Results - Lookup Response (cmpi_lookup) | ||
| Enrolled =
| |
PAResStatus =
| ||
Cavv = <Cavv Value>
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
Card Network & Version Specifications | ||
Discover ProtectBuy 2.1 | In this case, merchant must pass Challenge Indicator = 05 to indicate TRA exemption. | |
Additional Information | ||
Merchant Action | Proceed to Authorization You may also request the TRA exemption directly in authorization depending on region and your agreements with your Acquirer and the networks. |
Sample Messages | |
Sample Lookup Request Message
| |
Sample Lookup Response Message
|
3d. Acquirer TRA - Cartes Bancaires | ||
Scenario | Merchant has performed a proprietary risk assessment and is requesting the Acquirer TRA exemption. | |
Authentication Experience | Frictionless | |
Test Values
| EXP Date: 01/**** | |
Cartes Bancaires (Visa) PAN: Cartes Bancaires (MC) PAN: Lookup Request (cmpi_lookup) → CardType = CB | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
| ChallengeIndicator = 05 - No challenge requested
| |
Expected Results - Lookup Response (cmpi_lookup) | ||
| Enrolled =
| |
PAResStatus =
| ||
Cavv = <Cavv Value>
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
Card Network & Version Specifications | ||
Cartes Bancaires (v1.7) | Passing ChallengeIndicator=05 on a CB EMV 3DS 2.1.0 will allow Cardinal to generate the CB-EXEMPTACQ extension field on the AReq. | |
Additional Information | ||
Merchant Action | Proceed to Authorization You may also request the TRA exemption directly in authorization depending on region and your agreements with your Acquirer and the networks. |
Sample Messages | |
Sample Lookup Request Message
| |
Sample Lookup Response Message
|
3e. Acquirer TRA - Cartes Bancaires (2.2.0) | ||
Scenario | Merchant has performed a proprietary risk assessment and is requesting the Acquirer TRA exemption. | |
Authentication Experience | Frictionless | |
Test Values
| EXP Date: 01/**** | |
Cartes Bancaires (Visa) PAN: Cartes Bancaires (MC) PAN: Lookup Request (cmpi_lookup) → CardType = CB | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
| ChallengeIndicator = 05 - No challenge requested (transactional risk analysis is already performed)
| |
Expected Results - Lookup Response (cmpi_lookup) | ||
| Enrolled =
| |
PAResStatus =
| ||
Cavv = <Cavv Value>
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
Additional Information | ||
Merchant Action | Proceed to Authorization You may also request the TRA exemption directly in authorization depending on region and your agreements with your Acquirer and the networks. |
Sample Messages | |
Sample Lookup Request Message
| |
Sample Lookup Response Message
|
Test Case 4a: Prompt For Trustlist | ||
Scenario | Successful traditional Step Up (Challenge) authentication transaction with a prompt for the trustlist and an accepted exemption result | |
Authentication Experience | Challenge | |
Test Values | Visa PAN: Mastercard PAN: | |
Required Fields - Lookup Request (cmpi_lookup) | ||
ChallengeIndicator = 09 - Challenge requested (trustlist prompt requested if challenge required)
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
| Enrolled =
| |
PAResStatus =
| ||
CAVV = (value will not be provided)
| ||
Visa: Mastercard:
| ||
Payload = <Payload Value>
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
| ||
Expected Results - Authentication (cmpi_authenticate response) | ||
| PAResStatus =
| |
CAVV = <CAVV Value>
| ||
Visa: Mastercard:
| ||
WhiteListStatus = <WhiteListStatus Value>
| ||
WhiteListStatusSource = <WhiteListStatusSource Value>
| ||
ErrorNo =
ErrorDesc = (value will not be provided)
| ||
Integration Method Specific Expected Results | ||
Cardinal Cruise API | On the Lookup Response, StepUpUrl will be returned
| |
Additional Information | ||
Merchant Action | Merchant should append the Cavv and EciFlag values to the authorization message. |
<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> <ChallengeIndicator>09</ChallengeIndicator> <DeviceChannel>Browser</DeviceChannel> <Email>support@cardinalcommerce.com</Email> <IPAddress>1.12.123.255</IPAddress> <TransactionMode>S</TransactionMode> <TransactionType>C</TransactionType> <Version>1.7</Version> </CardinalMPI> |
Sample Lookup Response Message
<CardinalMPI> <ErrorNo>0</ErrorNo> <TransactionId>X1XvSfNzermEm8Dfgyq0</TransactionId> <Payload> eyJtZXNzYWdlVHlwZSI6IkNSZXEiLCJtZXNzYWdlVmVyc2lvbiI6IjIuMi4wIiwidGhyZWVEU1NlcnZlclRyYW5zSUQiOiJmMWJiNDAwZC1lZWRiLTQ2YjYtYTgwYi05MWJiMzExNWJlNjAiLCJhY3NUcmFuc0lEIjoiYzk3MGRlMjEtODVjYi00YzZiLTgyYzItNzE3ZGI1YzA1NDYyIiwiY2hhbGxlbmdlV2luZG93U2l6ZSI6IjA1In0 </Payload> <ErrorDesc></ErrorDesc> <Cavv></Cavv> <PAResStatus>C</PAResStatus> <Enrolled>Y</Enrolled> <ACSTransactionId>c970de21-85cb-4c6b-82c2-717db5c05462</ACSTransactionId> <EciFlag>07</EciFlag> <ACSUrl>https://0merchantacsstag.cardinalcommerce.com/MerchantACSWeb/creq.jsp</ACSUrl> <ThreeDSServerTransactionId>f1bb400d-eedb-46b6-a80b-91bb3115be60</ThreeDSServerTransactionId> <CardBin>400000</CardBin> <CardBrand>VISA</CardBrand> <DSTransactionId>042adc1b-9fb9-444c-a72e-f60f8d5d2fb8</DSTransactionId> <AuthenticationType>01</AuthenticationType> <ThreeDSVersion>2.2.0</ThreeDSVersion> <OrderId>8000094459242422</OrderId> <ChallengeRequired>N</ChallengeRequired> <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> <TransactionType>C</TransactionType> <Version>1.7</Version> </CardinalMPI> |
Sample Authenticate Response Message
<CardinalMPI> <CardBin>400000</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> <InteractionCounter>00</InteractionCounter> <EciFlag>05</EciFlag> <WhiteListStatus>Y</WhiteListStatus> <WhiteListStatusSource>03</WhiteListStatusSource> <TransactionId>ADF7ZctbyCVa0xKcivw0</TransactionId> <CurrencyCode>840</CurrencyCode> <ACSTransactionId>45be5b5a-bd58-4b9d-a298-da2beb339064</ACSTransactionId> <DSTransactionId>7f03c3aa-1a28-48eb-a5f7-47da91dd49c3</DSTransactionId> <CardBrand>VISA</CardBrand> <PAResStatus>Y</PAResStatus> </CardinalMPI> |
Test Case 4b: Utilize Trusted Beneficiary Exemption | ||
Scenario | Successful frictionless authentication transaction with a pre-trustlisted indication and an accepted exemption result | |
Authentication Experience | Frictionless | |
Test Values | Visa PAN: Mastercard PAN: | |
Required Fields - Lookup Request (cmpi_lookup) | ||
ChallengeIndicator = 08 = No challenge requested (utilize trustlist exemption if no challenge required)
| ||
Optional Fields - Lookup Request (cmpi_lookup) | ||
WhiteListStatus = <WhiteListStatus Value>
| ||
WhiteListStatusSource = <WhiteListStatusSource Value>
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
| PAResStatus =
| |
CAVV = <CAVV Value>
| ||
Visa: Mastercard:
| ||
WhiteListStatus = <WhiteListStatus Value>
| ||
WhiteListStatusSource = <WhiteListStatusSource Value>
| ||
ThreeDSVersion = <ThreeDSVersion Value>
| ||
ErrorNo =
ErrorDesc = (value will not be provided)
| ||
Integration Method Specific Expected Results | ||
ActionCode = ErrorNumber = ErrorDescription = | ||
Additional Information | ||
Merchant Action | Merchant should append the Cavv and EciFlag values to the authorization message. |
<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> <ChallengeIndicator>08</ChallengeIndicator> <DeviceChannel>Browser</DeviceChannel> <Email>support@cardinalcommerce.com</Email> <IPAddress>1.12.123.255</IPAddress> <TransactionMode>S</TransactionMode> <TransactionType>C</TransactionType> <Version>1.7</Version> <WhiteListStatus>Y</WhiteListStatus> <WhiteListStatusSource>03</WhiteListStatusSource> </CardinalMPI> |
Sample Lookup Response Message
<CardinalMPI> <ErrorNo>0</ErrorNo> <TransactionId>Zk1bb78N7Z829qzfcGo0</TransactionId> <Payload></Payload> <ErrorDesc></ErrorDesc> <Cavv>Y2FyZGluYWxjb21tZXJjZWF1dGg=</Cavv> <PAResStatus>Y</PAResStatus> <Enrolled>Y</Enrolled> <ACSTransactionId>55744ae5-fb70-46a1-af87-7b79eb7a9326</ACSTransactionId> <EciFlag>05</EciFlag> <WhiteListStatusSource>03</WhiteListStatusSource> <ACSUrl></ACSUrl> <ThreeDSServerTransactionId>9ee72837-7622-4fd7-bbe4-3678f296bd74</ThreeDSServerTransactionId> <CardBin>400000</CardBin> <CardBrand>VISA</CardBrand> <Amount>12367</Amount> <DSTransactionId>c1fdf458-f8c5-4667-9803-245e9d41f464</DSTransactionId> <ThreeDSVersion>2.2.0</ThreeDSVersion> <CurrencyCode>840</CurrencyCode> <OrderId>8000376244612849</OrderId> <ChallengeRequired></ChallengeRequired> <WhiteListStatus>Y</WhiteListStatus> <SignatureVerification>Y</SignatureVerification> </CardinalMPI> |
Test Case 5a: Visa Data Only | ||
Scenario | Visa Data Only authentication request Implementation of 3DS Method is a requirement for Visa Data Only. Implementation of 3DS Method is a requirement for Visa Data Only. | |
Authentication Experience | Frictionless (Information Only) | |
Test Values | Visa PAN: | |
Required Fields - Lookup Request (cmpi_lookup) | ||
ChallengeIndicator =
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
| PAResStatus =
| |
EciFlag =
| ||
CAVV = <CAVV Value>
| ||
ThreeDSVersion = <ThreeDSVersion Value>
| ||
ErrorNo =
ErrorDesc = (value will not be provided)
| ||
Integration Method Specific Expected Results | ||
ActionCode = ErrorNumber = ErrorDescription = | ||
Additional Information | ||
Merchant Action | Merchant should append the ECI and Cavv values to the authorization message. |
Sample Messages | |
Sample Lookup Request Message
| |
Sample Lookup Response Message
|
Test Case 5b-1: Identity Check Insights (ScoreRequest = N) | ||
Scenario | Mastercard Data Only authentication request | |
Authentication Experience | Frictionless | |
Test Values | Mastercard PAN: | |
Required Fields - Lookup Request (cmpi_lookup) | ||
MessageCategory =
| ||
Optional Fields - Lookup Request (cmpi_lookup) | ||
ScoreRequest =
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
| PAResStatus =
| |
CAVV = <CAVV Value>
| ||
EciFlag =
| ||
StatusReason =
| ||
ThreeDSVersion = <ThreeDSVersion Value>
| ||
ErrorNo =
ErrorDesc = (value will not be provided)
| ||
Integration Method Specific Expected Results | ||
ActionCode = ErrorNumber = ErrorDescription = | ||
Additional Information | ||
Merchant Action | Merchant should append the ECI and DS Transaction ID value to the authorization message. |
Sample Messages | |
Sample Lookup Request Message
| |
Sample Lookup Response Message
|
Test Case 5b-2: Identity Check Insights (ScoreRequest = Y) | ||
Scenario | Mastercard Data Only authentication request
| |
Authentication Experience | Frictionless | |
Test Values | Mastercard PAN: | |
Required Fields - Lookup Request (cmpi_lookup) | ||
MessageCategory =
| ||
Optional Fields - Lookup Request (cmpi_lookup) | ||
ScoreRequest =
| ||
MerchantReasonCode=
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
| PAResStatus =
| |
CAVV = <CAVV Value>
| ||
EciFlag =
| ||
StatusReason =
| ||
ThreeDSVersion = <ThreeDSVersion Value>
| ||
ErrorNo =
ErrorDesc = (value will not be provided)
| ||
Optional Results - Lookup Response (cmpi_lookup) [Only if ScoreRequest = Y] | ||
IDCI_Score =
| ||
IDCI_Decision=
| ||
IDCI_ReasonCode1 =
| ||
IDCI_ReasonCode2 =
| ||
Integration Method Specific Expected Results | ||
ActionCode = ErrorNumber = ErrorDescription = | ||
Additional Information | ||
Merchant Action | Merchant should append the ECI and DS Transaction ID values to the authorization message. |
Sample Messages | |
Sample Lookup Request Message
| |
Sample Lookup Response Message
|
These Test Cases (6a, 6b) are currently in Beta status and could be subject to change. |
6a. Split/Delayed 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: | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
| Message Category =
| |
Device Channel =
| ||
AuthenticationIndicator =
| ||
ThreeRIIndicator =
| ||
Alternate Prior Authentication Data = DSTransactionId from initial transaction (available on Lookup Response)
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
| Enrolled =
| |
PAResStatus =
| ||
CAVV = <CAVV Value>
| ||
EciFlag =
| ||
ErrorNo =
| ||
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
|
6b. 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: TBD | ||
Required Fields - Lookup Request (cmpi_lookup) | ||
| Message Category =
| |
Device Channel =
| ||
AuthenticationIndicator =
| ||
ThreeRIIndicator = EMV 3DS 2.1: EMV 3DS 2.2:
| ||
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 =
| ||
Expected Results - Lookup Response (cmpi_lookup) | ||
| Enrolled =
| |
PAResStatus =
| ||
CAVV = <CAVV Value>
| ||
EciFlag =
| ||
ErrorNo =
| ||
ErrorDesc = (value will not be provided)
|
Sample Messages | |
Sample Lookup Message
| |
Sample Response Message
|
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.