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 4 Next »

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.

Step 2 Overview:

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.

This is the first transaction of the Lookup/Authenticate pair that is used to process the Consumer Authentication transaction request. The TransactionType value represented on the transaction request will dictate how the transaction will be processed. 

The CardNumber value dictates the program that will be used in processing the transaction. Currently, Verified by Visa, Mastercard SecureCode/Identity Check, American Express SafeKey, Discover ProtectBuy, JCB J/Secure and Diners Club ProtectBuy are supported by Centinel.

Merchants must ensure that Cardinal has the proper Acquiring Merchant Identification Number and corresponding Acquiring Bank Identification Numbers (BINs) configured in your account. The identifiers may vary based on card acceptance with your acquirer and processor. Please contact us to verify your credentials.


TLS Global Mandate

It is important to note that the Cardinal Cruise integration of Javascript, specifically Songbird.js, uses TLS 1.2 cipher suites and protocols and above. If you are currently using a deprecated TLS cipher suite and protocol (Ie: TLS 1.0 or 1.1) you will be required to upgrade to the latest and approved TLS 1.2 cipher suites and protocols. You can find the approved cipher suite list here.




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.



Virtual SDK Lookup Request Fields

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.

YAN(256)

SdkTransId

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

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

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

YAN(32)
sdkEncData


sdkMaxTimeout


DeviceChannel(?)


deviceRenderOptions


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
YAN(5000)
ACSReferenceNumberUnique identifier assigned by the EMVCo secretariat upon testing and approval CAN(32)
ACSTransactionID


ThreeDSServerTransactionId


Update the example below after the final review 


Virtual SDK Lookup Request Example
<CardinalMPI>
        <ProcessorId>2**</ProcessorId>
        <MerchantId>u**********</MerchantId>
        <TransactionPwd>1*******</TransactionPwd>
        <Version>1.7</Version>
        <MsgType>cmpi_lookup</MsgType>
        <TransactionType>C</TransactionType>
        <OrderNumber>abc123doerayme</OrderNumber>
        <CardNumber>4**************8</CardNumber>
        <CardExpMonth>0*</CardExpMonth>
        <CardExpYear>2***</CardExpYear>
        <BillingCity>Mentor</BillingCity>
        <BillingAddress1>8100 Tyler Blvd</BillingAddress1>
        <BillingAddress2></BillingAddress2>
        <BillAddrPostCode>44060</BillAddrPostCode>
        <BillingCountryCode>840</BillingCountryCode>
        <BillAddrState>OH</BillAddrState>
        <BillingFirstName>John</BillingFirstName>
        <BillingLastName>Doe</BillingLastName>
        <BillingFullName>John Doe</BillingFullName>
        <ShippingCity>44060</ShippingCity>
        <ShippingAddress1>8100 Tyler Blvd</ShippingAddress1>
        <ShippingAddress2></ShippingAddress2>
        <ShippingPostalCode>44060</ShippingPostalCode>
        <DFReferenceId>c17dea31-9cf6-0c1b8f2d3c5</DFReferenceId>
        <BillingPostalCode>44060</BillingPostalCode>
        <BillingState>OH</BillingState>
        <ShippingState>OH</ShippingState>
        <Email>cardinal.mobile.test@gmail.com</Email>
        <ShippingCountryCode>840</ShippingCountryCode>
        <Amount>0</Amount>
        <CurrencyCode>840</CurrencyCode>
        <AuthenticationInfo></AuthenticationInfo>
        <OverridePaymentMethod></OverridePaymentMethod>
        <AddressMatch></AddressMatch>
        <Installment></Installment>
        <MerchantRiskInfo></MerchantRiskInfo>
        <RecurringEnd></RecurringEnd>
        <RecurringFrequency></RecurringFrequency>
        <ChallengeRenderInterface>01</ChallengeRenderInterface>
        <ChallengeRenderType>01</ChallengeRenderType>
        <DeviceChannel>sdk</DeviceChannel>
        <ChallengeIndicator></ChallengeIndicator>
        <CategoryCode>5712</CategoryCode>
        <MessageCategory>01</MessageCategory>
        <ProductCode>01</ProductCode>
        <SdkMaxTimeout>25</SdkMaxTimeout>
        <AuthenticationIndicator>01</AuthenticationIndicator>
        <ThreeRIIndicator></ThreeRIIndicator>
        <NPAIndicator></NPAIndicator>
        <SdkTransId>6f9aee49-b4f0-41dd-9602-b9b6d2f65726</SdkTransId>
        <SdkEphemPubKey>{"kty":"EC","crv":"P-256","x":"D6n3bfcLaUdltrqJ2602JpqYZ-kA-7J73oDS44_l-MY","y":"tEbbZRgffJr9vdzdJ68if8t7LaZJ-4DGGJZvg5Ly6AA"}</SdkEphemPubKey>
        <SdkAppId>12aa43db-3423-4d33-94fc-838a12a25e9c</SdkAppId>
        <SdkReferenceNumber>SDKREFERENCENUMBER</SdkReferenceNumber>
</CardinalMPI>


Unable to render {include} The included page could not be found.

  • No labels