Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Warning
title

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 AE if there are any questions.


Virtual SDK

Overview

title
Tip

Universal Reference Guide

The documentation below covers many communication methods when it comes to talking with the Cardinal systems. There may be fields that include notes for "Cruise Standard" and "Cruise Hybrid" that may not be applicable to this integration.

Include Page
CCen:Consumer Authentication
CCen:
Consumer Authentication

Table of Contents

Virtual SDK Required Fields

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.

Lookup Request
Fields
(
Required)Field NameDescriptionRequiredField Definition

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.

YJSON Object(6000)

SdkTransId

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

YString(36)

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.

YString(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.

YString(32)SdkEncDataJWE object containing data encrypted by the SDK for the DS to decrypt.YString(64000)SdkMaxTimeout

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

Accepted Values: Greater than or = 05

YN(2)DeviceChannel

Determines the channel that the transaction came through.

Possible Values: 

SDK

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

YAN(10)DeviceRenderOptions

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

NJSON Object

Virtual SDK Lookup Response Fields

Field NameDescriptionRequiredField 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
CString(5000)ACSReferenceNumberUnique identifier assigned by the EMVCo secretariat upon testing and approval CString(32)ACSTransactionIDUnique transaction identifier assigned by the ACS to identify a single transaction.CString(36)ThreeDSServerTransactionIdUnique transaction identifier assigned by the 3DS Server to identify a single transaction.CString(36)

Example

Code Block
themeEmacs
titleVirtual SDK Lookup Request Example
linenumberstrue
collapsetrue
<CardinalMPI> <ProcessorId>123</ProcessorId> <MerchantId>MERCHANT_ID</MerchantId> <TransactionPwd>123456789</TransactionPwd>
cmpi_lookup)
CCen:Lookup Request (cmpi_lookup)


Table of Contents
minLevel1
maxLevel7
excludeDevelopment Notice

Virtual SDK Lookup Request Example

Lookup Request Example
Code Block
languagexml
<CardinalMPI>
	<Algorithm>SHA-512</Algorithm>
	<Identifier>{{API_KEY_IDENTIFIER}}</Identifier>
	<OrgUnit>{{ORG_UNIT_ID}}</OrgUnit>
	<Signature>{{GENERATED_SIGNATURE_VALUE}}</Signature>
	<Timestamp>{{TIMESTAMP}}</Timestamp>
	<Version>1.7</Version>
	<MsgType>cmpi_lookup</MsgType>
	<TransactionType>C</TransactionType>
	<OrderNumber>abc123doerayme</OrderNumber>
	
<AcctNumber>4012000000010288<
<AcctNumber>4012##88</AcctNumber>
	
<PurchaseAmount>0<
<PurchaseAmount>1400</PurchaseAmount>
	<PurchaseCurrency>840</PurchaseCurrency>
	
<CardNumber>4012000000010288<
<CardNumber>4012##88</CardNumber>
	<CardExpMonth>09</CardExpMonth>
	<CardExpYear>2020</CardExpYear>
	<BillingCity>Mentor</BillingCity>
	<BillingAddress1>8100 Tyler 
Blvd 100<
Blvd</BillingAddress1>
	<BillingAddress2></BillingAddress2>
	
<BillAddrPostCode>44094<
<BillAddrPostCode>44060</BillAddrPostCode>
	<BillingCountryCode>840</BillingCountryCode>
	<BillAddrState>OH</BillAddrState>
	
<CardholderName> <BillingFirstName>John Doe<
<BillingFirstName>John</BillingFirstName>
	
<BillingLastName>John Doe<
<BillingLastName>Doe</BillingLastName>
	
<BillingFullName>John Doe</BillingFullName>
<

    <CardholderName></CardholderName>
	
<ShippingCity>44094<
<ShippingCity>44060</ShippingCity>
	<ShippingAddress1>8100 Tyler 
Blvd 100<
Blvd</ShippingAddress1>
	<ShippingAddress2></ShippingAddress2>
	
<ShippingPostalCode>44094<
<ShippingPostalCode>44060</ShippingPostalCode>
	
<DFReferenceId><
<BillingPostalCode>44060</
DFReferenceId> <BillingPostalCode>44094</
BillingPostalCode>
	<BillingState>OH</BillingState>
	<ShippingState>OH</ShippingState>
	<Email>cardinal.mobile.test@gmail.com</Email>
	<ShippingCountryCode>840</ShippingCountryCode>
	
<Amount>0</Amount> <CurrencyCode>840<
<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>
	
<SourceVersion>2.10<
<AuthenticationInfo></
SourceVersion>
AuthenticationInfo>
	
<ChallengeRenderInterface>01<
<OverridePaymentMethod></
ChallengeRenderInterface>
OverridePaymentMethod>
	
<ChallengeRenderType>01<
<AddressMatch></
ChallengeRenderType>
AddressMatch>
	
<ChallengeRenderType>02<
<Installment></
ChallengeRenderType>
Installment>
	
<ChallengeRenderType>03<
<MerchantRiskInfo></
ChallengeRenderType>
MerchantRiskInfo>
	
<ChallengeRenderType>04<
<RecurringEnd></
ChallengeRenderType>
RecurringEnd>
	
<ChallengeRenderType>05<
<RecurringFrequency></
ChallengeRenderType>
RecurringFrequency>
	
<ThreeDSVersion>2
<SourceVersion>2.
1.0<
10</
ThreeDSVersion>
SourceVersion>
	
<DeviceChannel>sdk<
<AuthenticationIndicator>01</
DeviceChannel>
AuthenticationIndicator>
	<MerchantUrl>http://www.cardinalcommerce.com</MerchantUrl>

    <!-- Virtual SDK Lookup Request Fields  -->
	
<AcquirerId>88888<
<DeviceChannel>sdk</
AcquirerId>
DeviceChannel>
	
<AcquirerMerchantId>89111<
<ChallengeRenderInterface>03</
AcquirerMerchantId>
ChallengeRenderInterface>
	
<CategoryCode>5712<
<ChallengeRenderType>01</
CategoryCode>
ChallengeRenderType>
	
<CountryCodeOverride>840<
<ChallengeRenderType>02</
CountryCodeOverride>
ChallengeRenderType>
	
<MerchantName>Sid<
<ChallengeRenderType>03</
MerchantName>
ChallengeRenderType>
	
<MessageCategory>01<
<ChallengeRenderType>04</
MessageCategory>
ChallengeRenderType>
	
<ProductCode>01<
<ChallengeRenderType>05</
ProductCode>
ChallengeRenderType>
	<SdkMaxTimeout>25</SdkMaxTimeout>
	
<AuthenticationIndicator>01</AuthenticationIndicator> <SdkTransId>e1c72b78-8534-49d2-ae18-1e9050e13c61<
<SdkTransId>78d42267-6d59-486e-8dba-3a3f427cf375</SdkTransId>
	<SdkEncData>ENCRYPTED DATA</SdkEncData>
 
   <SdkEphemPubKey>{"kty":"EC","crv":"P-256","x":"qkStspK65NrI8Dej0oRYGkoEvmWvl18JY_
NohgCJdJMwqAJLf0KvBibZk-kiiBLfVr1aFjq_MXsg
q8FKP20ag","y":"
xVWNBHhJpaMb8G6FMwSiD7CyxGji6GYMSyW1A380wuM
w9HVQNM02zLJ0YAcMaPUCybnAelPpjHKZqUu7aRjZkE"}</SdkEphemPubKey>
	
<SdkAppId>6d9f1f0f
<SdkAppId>dd86e2ba-
b15c
626e-
4200
4a3e-
a2d8
9c03-
953181edfc6e<
324940d47e72</SdkAppId>
	
<SdkReferenceNumber>SdkReferenceNumber<
<SdkReferenceNumber>3DS_LOA_SDK_CACC_020100_00063</SdkReferenceNumber>
</CardinalMPI>


Virtual SDK Lookup Request Fields

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

Required

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

Y

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

Y

N(2)

ChallengeRenderType

Specifies a particular SDK UI types that the device supports for displaying challenge user interfaces within the SDK. Multiple fields of this name are allowed.

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)

Y

N(2)

SdkMaxTimeout

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

Accepted Values: Greater than or = 05

Y

N(2)

SdkTransId

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

Y

String(36)

SdkEncData

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

Y

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.

Y

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.

Y

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.

Y

String(32)


Include Page
CCen:Lookup Request
/Response
(cmpi_lookup)
CCen:Lookup Request
/Response
(cmpi_lookup)