Virtual SDK Conditional Lookup Fields

 

Development Notice

The Cardinal Virtual SDK is currently in Beta and is subject to changes within the codebase and documentation. Please reach out to your Account Executive if there are any questions.

The table below includes the required fields for the Virtual SDK implementation. These have been separated from the rest of the Lookup documentation as they are specific to the Virtual SDK.

Field Name

Description

Field Definition

Field Name

Description

Field Definition

DeviceChannel

Determines the channel that the transaction came through.

Possible Values: 

SDK

NOTE: The value of SDK is required for Cardinal Virtual SDK transactions

AN(10)

ChallengeRenderInterface

Defines the SDK UI types that the device supports for displaying specific challenge user interfaces within the SDK.

Equivalent to DeviceRenderOptions.sdkInterface in the EMVCo specification.

Possible Values: 

  • 01 = Native

  • 02 = HTML

  • 03 = Both

N(2)

ChallengeRenderType

Specifies a particular SDK UI types that the device supports for displaying challenge user interfaces within the SDK.

Equivalent to DeviceRenderOptions.sdkUiType in the EMVCo specification.

Possible Values: 

  • 01 = Text

  • 02 = Single Select

  • 03 = Multi Select

  • 04 = OOB

  • 05 = HTML Other (valid only for HTML UI)

1 <ChallengeRenderType>01,02,03,04</ChallengeRenderType>

N(20)

SdkMaxTimeout

Maximum time the SDK will wait for all message (in minutes).

Accepted Values: Greater than or = 05

N(2)

SdkTransId

Universally unique transaction identifier assigned by the 3DS SDK to identify a single transaction.

String(36)

SdkEncData

JWE object containing data encrypted by the SDK for the DS to decrypt.

String(64000)

SdkEphemPubKey

The public key component of the ephemeral key pair generated by the 3DS SDK and used to establish session keys between the 3DS SDK and ACS.

JSON Object(6000)

SdkAppId

Universally Unique ID created upon all installations and updates of the 3DS Requestor App on a Consumer Device. This will be newly generated and stored by the 3DS SDK for each installation or update.

String(36)

SdkReferenceNumber

Identifies the vendor and version for the 3DS SDK that is integrated into a 3DS Requestor App, assigned by EMVCo when the 3DS SDK is approved.

String(32)

Virtual SDK Lookup Request Example

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 <CardinalMPI> <ProcessorId>PROCESSOR ID</ProcessorId> <MerchantId>MERCHANT ID</MerchantId> <TransactionPwd>TRANSACTION PASSWORD</TransactionPwd> <Version>1.7</Version> <MsgType>cmpi_lookup</MsgType> <TransactionType>C</TransactionType> <OrderNumber>ABC123</OrderNumber> <PurchaseAmount>1400</PurchaseAmount> <PurchaseCurrency>840</PurchaseCurrency> <CardNumber>4000000000001000</CardNumber> <CardExpMonth>09</CardExpMonth> <CardExpYear>2020</CardExpYear> <BillingCity>Mentor</BillingCity> <BillingAddress1>8100 Tyler Blvd</BillingAddress1> <BillingAddress2></BillingAddress2> <BillAddrPostCode>44060</BillAddrPostCode> <BillingCountryCode>840</BillingCountryCode> <BillAddrState>OH</BillAddrState> <CardholderName></CardholderName> <BillingFirstName>John</BillingFirstName> <BillingLastName>Doe</BillingLastName> <BillingFullName>John Doe</BillingFullName> <ShippingCity>44060</ShippingCity> <ShippingAddress1>8100 Tyler Blvd</ShippingAddress1> <ShippingAddress2></ShippingAddress2> <ShippingPostalCode>44060</ShippingPostalCode> <BillingPostalCode>44060</BillingPostalCode> <BillingState>OH</BillingState> <ShippingState>OH</ShippingState> <Email>cardinal.mobile.test@gmail.com</Email> <ShippingCountryCode>840</ShippingCountryCode> <Amount>1400</Amount> <AcquirerId>12345</AcquirerId> <AcquirerMerchantId>1234</AcquirerMerchantId> <CategoryCode>5712</CategoryCode> <CountryCodeOverride>840</CountryCodeOverride> <MerchantName>Store Front</MerchantName> <MessageCategory>01</MessageCategory> <ProductCode>01</ProductCode> <CurrencyCode>826</CurrencyCode> <AuthenticationInfo></AuthenticationInfo> <OverridePaymentMethod></OverridePaymentMethod> <AddressMatch></AddressMatch> <Installment></Installment> <MerchantRiskInfo></MerchantRiskInfo> <RecurringEnd></RecurringEnd> <RecurringFrequency></RecurringFrequency> <SourceVersion>2.10</SourceVersion> <AuthenticationIndicator>01</AuthenticationIndicator> <MerchantUrl>http://www.cardinalcommerce.com</MerchantUrl> <!-- Virtual SDK Lookup Request Fields --> <DeviceChannel>sdk</DeviceChannel> <ChallengeRenderInterface>03</ChallengeRenderInterface> <ChallengeRenderType>01</ChallengeRenderType> <ChallengeRenderType>02</ChallengeRenderType> <ChallengeRenderType>03</ChallengeRenderType> <ChallengeRenderType>04</ChallengeRenderType> <ChallengeRenderType>05</ChallengeRenderType> <SdkMaxTimeout>25</SdkMaxTimeout> <SdkTransId>78d42267-6d59-486e-8dba-3a3f427cf375</SdkTransId> <SdkEncData>ENCRYPTED DATA</SdkEncData> <SdkEphemPubKey>{"kty":"EC","crv":"P-256","x":"qkStspK65NrI8Dej0oRYGkoEvmWvl18JY_q8FKP20ag","y":"w9HVQNM02zLJ0YAcMaPUCybnAelPpjHKZqUu7aRjZkE"}</SdkEphemPubKey> <SdkAppId>dd86e2ba-626e-4a3e-9c03-324940d47e72</SdkAppId> <SdkReferenceNumber>3DS_LOA_SDK_CACC_020100_00063</SdkReferenceNumber> </CardinalMPI>