Ch 20 (08/23/2019 Update): In Virtual SDK, added OrderId in cmpi_lookup Centinel Conditional chart, ReasonCode and ReasonDesc in the Cardinal Cruise cmpi_step_up Conditional chart, and added ACSReferenceNumber in Step 3: Submitting & Receiving the Lookup


***Changes made on 08/23/2019 are delineated below in Red.***

In Virtual SDK, added OrderId in the cmpi_lookup Centinel Conditional chart,the ReasonCode and ReasonDesc in the Cardinal Cruise cmpi_step_up Conditional chart, and added ACSReferenceNumber in Step 3: Submitting & Receiving the Lookup

Additional Response Fields

Additional fields that can be returned for EMV 3DS (3DS 2.0). 

Field Name
Description
Required
Condition
Field Definition
ACSRenderingType

Identifies the UI Type the ACS will use to complete the challenge. 

NOTEOnly available for App transactions using the Cardinal Mobile SDK.

C

Merchant Configuration ON & App


ACSTransactionIdUnique transaction identifier assigned by the ACS to identify a single transaction.C3DS 2.0AN(36)
AuthenticationType

Indicates the type of authentication that will be used to challenge the card holder. 

Possible Values:

01 - Static

02 - Dynamic 

03 - OOB (Out of Band)

04 - Decoupled

NOTE:  EMV® 3-D Secure version 2.1.0 supports values 01-03.  Version 2.2.0 supports values 01-04.  Decoupled authentication is not supported at this time.

C

Merchant Configuration ON

Required in the ARes message if the Transaction Status = C or D in the ARes message.

N(2)
CardholderInfo

Text provided by the ACS/Issuer to Cardholder during a Frictionless or Decoupled transaction.

The Issuer can provide information to Cardholder. For example, “Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.”. 

The Issuing Bank can optionally support this value. 

NOTE:  Supports 3RI Device Channel in version 2.2.0.  Decoupled authentication is not supported at this time.

C

3DS 2.0

Required if ACS Decoupled Confirmation Indicator = Y Otherwise, Optional for the ACS.

AN(128)
ChallengeRequired

Indicates whether a challenge is required to complete authentication. For example, regional mandates.

Possible Values:

Y - Challenge Required

N - Challenge Not Required

NOTE:  Supports 3RI Device Channel in version 2.2.0.  Decoupled authentication is not supported at this time.

C

Merchant Configuration ON

Required if Transaction Status = C or D.

A(1)
ReasonCode

The error code indicating a problem with this transaction.  

C3DS 2.0N(3)
ReasonDesc

Text and additional detail about the error for this transaction.  

NOTE:This field concatenates the errorDescription and errorDetail from the authentication response message

C3DS 2.0AN(4096)
StatusReason

Provides additional information as to why the PAResStatus has the specific value. 

NOTE: Required for Payment (e.g. Authentication Indicator equals 01 on Lookup Request) transactions when PAResStatus is equal to N, U, or R in the Lookup Response.  Please refer to "EMV 3-D Secure Protocol and Core Functions Specification v2.2.0" for a list of Reason Codes.

CMerchant Configuration ONN(2)
ThreeDSServerTransactionIdUnique transaction identifier assigned by the 3DS Server to identify a single transaction.C3DS 2.0AN(36)
AN(50)

Conditionally Required Fields

The requirements for these fields are driven by the conditions of the transaction.

Field Name
Description
Required
Condition
Field Definition
ShippingAddress1Consumer's shipping address information.CRequired if information is available.AN(50)
ShippingState

Consumer's state or province of their shipping address.

Note: Should be the country subdivision code defined in ISO 3166-2.

CRequired if information is available.AN(3)
ShippingCityConsumer's city of their shipping address.CRequired if information is available.AN(50)
ShippingCountryCode

Consumer's 3-digit ISO 3166-1 country code.

CRequired if information is available.AN(3)
ShippingAddress2Consumer's shipping address information.CRequired if information is available.AN(50)
ShippingAddress3Consumer's shipping address information.CRequired if information is available.AN(50)
ShippingPostalCodeConsumer's postal code of their shipping address.CRequired if information is available.AN(16)
BillingPhone

Consumer's phone number for billing address. This should be unformatted without hyphens. 

Example:

222-234-5678 = 2222345678

CRequired if information is available.N(20)
WorkPhoneConsumer's work phone number.CRequired if information is available.N(25)
BillingAddress2Consumer's billing address information.CRequired if information is available.AN(50)
BillingAddress3Consumer's billing address information.CRequired if information is available.AN(50)
AuthenticationIndicator

Indicates the type of Authentication request.

01 - Payment transaction

02 - Recurring transaction

03 - Installment transaction

04 - Add card

05 - Maintain card

06 - Cardholder verification as part of EMV token ID&V

CRequired if not a Payment transaction.N(2)
ProductCode

Merchant product code.

Possible Values:

PHY - Goods/Service Purchase

CHA - Check Acceptance

ACF - Account Funding

QCT - Quasi-Cash Transaction 

PAL - Prepaid Activation and Load


NOTE: This value defaults to PHY. This field can be used to override that value if applicable.

CRequired is the value if anything other than PHYAN(3)
ThreeDSVersion

This field contains the 3DS version that can be leveraged to force a transaction down the 1.0 rails.

Possible Values:

1.0.2

C
AN(10)

OrderId

Centinel generated order identifier. Used to link multiple actions on a single order to a single identifier. Mod-10 compliant and unique BIN range to CardinalCommerce services. 

Y


N(16)

Virtual SDK Lookup Response Fields

Field Name
Description
Required
Field Definition

ACSSignedContent

Contains the JWS object created by the ACS and returned on the ARes message.

The JWS object contains the following data:

  • ACS URL
  • ACS Ephemeral Public Key
  • SDK Ephemeral Public Key
YAN(5000)

Payload

This Payload includes the initial CReq Template that will be used to generate future CReqs. YAN(5000)
ACSReferenceNumberUnique identifier assigned by the EMVCo secretariat upon testing and approval CAN(32)