Process Flow for SDK Integration

1You generate a JSON Web Token (JWT).

2Contact CardinalCommerce Customer Support for instructions to register for an API key.

3Download and import the Cardinal Mobile SDK for either iOS or Android.

4Set up your build environment.

5Configure your SDK.

6Call Cardinal session.setup().

7Create an API call to your merchant server to request the Enrollment Check service, passing in transaction details and the pa_reference_id request field.

8If the issuing bank does not require authentication, you receive the following information in the Enrollment Check response:

nE-commerce indicator

nCAVV (all card types except Mastercard)

nAAV (Mastercard only)

nTransaction ID

n3D Secure version

nDirectory server transaction ID

9If the issuing bank requires authentication, you receive a response with the payload, and the transaction ID that you include in the Cardinal.continue call from your SDK.

10The Cardinal Mobile SDK displays the authentication window, and the customer enters the authentication information.

11The bank validates the customer credentials and a JWT is returned by the SDK in the onValidated callback that the merchant is required to validate server-side for security reasons.

12Create an API call to your merchant server to request the Validate Authentication service, extracting the processor transaction ID value from the JWT and sending it in the pa_authentication_transaction_id request field. You receive the e-commerce indicator, CAVV or AAV, transaction ID, 3D Secure version, and directory server transaction ID.

Verify that the authentication was successful and continue processing your order.

You must pass all pertinent data for the card type and processor in your authorization request. For more information, see Requesting the Validation Service .