Visa Payment Passkey

Step-by-step integration guide for secure payment authentication

Step 3: CMPI Lookup

Perform additional stepUp challenge through Cardinal Commerce

CMPI Lookup Request

Request to CMPI Lookup API:

XML
<CardinalMPI>
    <Algorithm>SHA-256</Algorithm>
    <AlternateAuthenticationMethod>80</AlternateAuthenticationMethod>
    <Amount>1234</Amount>
    <BillAddrPostCode>12345</BillAddrPostCode>
    <BillAddrState>CA</BillAddrState>
    <BillingAddress1>123 Main St</BillingAddress1>
    <BillingAddress2>Apt 4B</BillingAddress2>
    <BillingCity>Anytown</BillingCity>
    <BillingCountryCode>840</BillingCountryCode>
    <BillingFirstName>John</BillingFirstName>
    <BillingFullName>John Doe</BillingFullName>
    <BillingLastName>Doe</BillingLastName>
    <BillingPostalCode>12345</BillingPostalCode>
    <BillingState>CA</BillingState>
    <BrowserColorDepth id="browserInfo.colorDepth"></BrowserColorDepth>
    <BrowserHeader id="browserInfo.acceptHeader"></BrowserHeader>
    <BrowserJavaEnabled id="browserInfo.javaEnabled"></BrowserJavaEnabled>
    <BrowserLanguage id="browserInfo.language"></BrowserLanguage>
    <BrowserScreenHeight id="browserInfo.screenHeight"></BrowserScreenHeight>
    <BrowserScreenWidth id="browserInfo.screenWidth"></BrowserScreenWidth>
    <BrowserTimeZone id="browserInfo.timeZone"></BrowserTimeZone>
    <ChallengeIndicator>03</ChallengeIndicator>
    <CardExpMonth>02</CardExpMonth>
    <CardExpYear>2030</CardExpYear>
    <CardNumber>4761120010000492</CardNumber>
    <CurrencyCode>840</CurrencyCode>
    <DFReferenceId>87f635a1-287e-487d-aa8e-8085c2061f01</DFReferenceId>
    <DeviceChannel>browser</DeviceChannel>
    <Email>test.user@example.com</Email>
    <IPAddress id="browserInfo.ipAddress"></IPAddress>
    <Identifier>582e0a2033fadd1260f990f6</Identifier>
    <MobilePhone>1234567890</MobilePhone>
    <MsgType>cmpi_lookup</MsgType>
    <OrderNumber>order-0001</OrderNumber>
    <OrgUnit>582be9deda52932a946c45c4</OrgUnit>
    <ShippingAddress1>123 Main St</ShippingAddress1>
    <ShippingAddress2>Apt 4B</ShippingAddress2>
    <ShippingCity>Anytown</ShippingCity>
    <ShippingCountryCode>840</ShippingCountryCode>
    <ShippingPostalCode>12345</ShippingPostalCode>
    <ShippingState>CA</ShippingState>
    <Signature>e+dK997NthcHmMMnLJzYFi+ckH9YR23izlld8jp2c6U=</Signature>
    <Timestamp>1786880097063</Timestamp>
    <TransactionType>C</TransactionType>
    <UserAgent id="browserInfo.userAgent"></UserAgent>
    <Version>1.7</Version>
</CardinalMPI>

CMPI Lookup Response

Response from Cardinal API:

XML
<CardinalMPI><DataOnly>No</DataOnly><ErrorNo>1001</ErrorNo><TransactionId>v2go8DCcEZLe6UeZUE31</TransactionId><Payload></Payload><ErrorDesc>Error Processing Message Request</ErrorDesc><Cavv></Cavv><PAResStatus></PAResStatus><Enrolled>U</Enrolled><EciFlag>07</EciFlag><ACSUrl></ACSUrl><CardBin>476112</CardBin><ReasonDesc>A message element required as defined in Table A.1 is missing from the message. browserLanguage,browserUserAgent,browserAcceptHeader,</ReasonDesc><CardBrand>VISA</CardBrand><Amount>1234</Amount><ThreeDSVersion>2.2.0</ThreeDSVersion><ReasonCode>201</ReasonCode><CurrencyCode>840</CurrencyCode><OrderId>8001296565535321</OrderId><ChallengeRequired></ChallengeRequired><SignatureVerification></SignatureVerification></CardinalMPI>

JWT Payload

The following payload contains details for the stepUp challenge:

JSON

        

JWT Token

This is the complete, encoded JWT token that is posted to the stepUp iframe:

JWT
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJ2MmdvOERDY0VaTGU2VWVaVUUzMSIsImlhdCI6MTc4Njg4MDA5NywiaXNzIjoiNTgyZTBhMjAzM2ZhZGQxMjYwZjk5MGY2IiwiT3JnVW5pdElkIjoiNTgyYmU5ZGVkYTUyOTMyYTk0NmM0NWM0IiwiT2JqZWN0aWZ5UGF5bG9hZCI6dHJ1ZSwiUGF5bG9hZCI6eyJBQ1NVcmwiOltdLCJQYXlsb2FkIjpbXSwiVHJhbnNhY3Rpb25JZCI6InYyZ284RENjRVpMZTZVZVpVRTMxIn0sIlJlZmVyZW5jZUlkIjoiODdmNjM1YTEtMjg3ZS00ODdkLWFhOGUtODA4NWMyMDYxZjAxIn0.HKH-J0qFY-KVZc-D9Va5DF1cih349Al_3tHo8xT9cAI
Processing StepUp Challenge...