Android & iOS

You will need a username and password for Jfrog Artifactory to access the SDK. To receive these please contact your Implementation Manager.

The SDK itself is provided and maintained by Cardinal. The steps here act as guidance for using the Cardinal SDK with the Access 3DS API.

SDK updates

We strongly recommend signing up here so you are kept informed of SDK updates.

Device Data Collection (DDC)

The /payments response contains a JWT with which you can initalize the SDKs.

SDK initialization

The Access 3DS API is periodically tested against the latest version of the Cardinal SDK. Current tested Cardinal SDK version:

  • Android: v2.2.7
  • iOS: v2.2.5

Setup the Cardinal SDK / Initial call to Cardinal

You will receive the consumerSessionId for use in the /3dsDeviceData request.

Challenge display & Verification

If the /3dsDeviceData response outcome is challenged you can use the SDK to provide the improved 3DS2 Challenge display for mobile devices.

3DS Challenge display

You will need the following values from the response to use in the SDK.

|Access Name| Cardinal SDK Name | |---|---|---| |challenge.reference |transactionId| |challenge.payload | payload|

SDK challenge display:

Customize Challenge Interface

As part of SDK setup you can customise the challenge user interface

Continue with payment

Once the challenge form has been completed post to /3dsChallenges to resume the payment

If everything is fine the payment will proceed. You could receive the following two outcomes if the authentication has failed or a downstream error means the authentication details were not returned (unavailable).

  1. Authentication Failed
  2. Unavailable

Placeholder - need real response

    "outcome": "authenticationFailed",
    "transactionReference": "Memory265-13/08/1876",
    "authentication": {
      "version": "1.0.2",
      "eci": "00",
      "transactionId": "N+en2I5+ZK/kQqk69wXdI8XIPg8="
    "_links": {
        "3ds:authenticate": {
            "href": ""
        "curies": [{
            "href": "{rel}",
            "templated": true,
            "name": "3ds"

Outcome details

In the final payment response a summary of the 3DS authentication is included.

"threeDS": {
  "outcome": "authenticated",
  "issuerResponse": "frictionless"