**Last updated**: 22 April 2025 | [**Change log**](/access/products/3ds/changelog/)

# Challenge display and verification

If the authentication response `outcome` is `challenged` you can use the SDK to provide the improved [3DS2 Challenge display](#3ds-challenge-display) for mobile devices.

## 3DS Challenge display

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

| Access Name | Value from | Cardinal SDK Name |
|  --- | --- | --- |
| `challenge.reference` | authentication response | `transactionId` |
| `challenge.payload` | authentication response | `payload` |


The Access 3DS API is periodically tested against the latest version of the Cardinal SDK. You can see the latest tested version in the [change log](/access/products/3ds/changelog)

### SDK challenge display

- Android
- iOS


### Customize challenge interface

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

- Android
- iOS


# Verification

Once the challenge has been completed, you must make a verification request to verify the result of the challenge.

Important
You should only request the verification from your backend system. You should not call it directly from the mobile application using the Access credentials.

POST your verification request to our `3ds:verify` action link received in your authentication response.

## Verification example request

POST  `https://try.access.worldpay.com/verifications/customers/3ds/verification`

Verification request body:

## Verification responses

Best practice
Access Worldpay returns a `WP-CorrelationId` in the headers of service responses. We **highly recommend** you log this. The `WP-CorrelationId` is used by us to examine individual service requests.

Here are examples of the verification responses you would receive. To understand what these outcomes mean and how to reproduce them for testing purposes see [3DS testing](/access/products/3ds/testing).

Authenticated
Successful authentication following a challenge

authenticated

```json authenticated
  {
      "outcome": "authenticated",
      "transactionReference": "Memory265-13/08/1876",
      "acsTransactionId": "fe007a6e-315f-4cdf-98ca-28a9e40e3581",
      "status": "Y",
      "enrolled": "Y",
      "authentication": {
          "version": "2.1.0",
          "authenticationValue": "MAAAAAAAAAAAAAAAAAAAAAAAAAA=",
          "eci": "05",
          "transactionId": "c5b808e7-1de1-4069"
      }
  }
```

authenticated - Cartes Bancaires

```json authenticated - Cartes Bancaires
    "transactionReference": "Memory265-13/08/1876",
    "acsTransactionId": "fe007a6e-315f-4cdf-98ca-28a9e40e3581",
    "status": "Y",
    "enrolled": "Y",
    "authentication": {
        "version": "2.1.0",
        "authenticationValue": "AAIBBYNoEwAAACcKhAJkdQAAAAA=",
        "eci": "05",
        "transactionId": "1be85590-d6f9-4a0b-93c9-3a7188d9a463",
        "cryptogramAlgorithm": "1",
        "challengePreference": "challengeMandated",
        "authenticationFlow": "challenge",
        "brand": "cartesBancaires"
    }
}
```

Authentication failed
Issuer failed the authentication following the challenge

authenticationFailed

```json authenticationFailed
  {
      "outcome": "authenticationFailed",
      "transactionReference": "Memory265-13/08/1876",
      "acsTransactionId": "fe007a6e-315f-4cdf-98ca-28a9e40e3581",
      "status": "N",
      "enrolled": "Y",
      "authentication": {
          "version": "2.2.0",
          "eci": "00",
          "transactionId": "N+en2I5+ZK/kQqk69wXdI8XIPg8="
      },
      "_links": {
          "3ds:authenticate": {
              "href": "https://try.access.worldpay.com/verifications/customers/3ds/authentication"
          },
          "curies": [
              {
                  "href": "https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}",
                  "templated": true,
                  "name": "3ds"
              }
          ]
      }
  }
```

authenticationFailed - Cartes Bancaires

```json authenticationFailed - Cartes Bancaires
    "transactionReference": "Memory265-13/08/1876",
    "acsTransactionId": "fe007a6e-315f-4cdf-98ca-28a9e40e3581",
    "status": "N",
    "enrolled": "Y",
    "authentication": {
        "version": "2.1.0",
        "eci": "07",
        "transactionId": "424c464d-3b04-4101-950a-8a71cd1f9dc6",
        "cryptogramAlgorithm": "1",
        "challengePreference": "challengeMandated",
        "authenticationFlow": "frictionless",
        "statusReason": "01",
        "brand": "cartesBancaires"
    },
    "_links": {
        "3ds:authenticate": {
            "href": "https://try.access.worldpay.com/verifications/customers/3ds/authentication"
        },
        "curies": [
            {
                "href": "https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}",
                "name": "3ds",
                "templated": true
            }
        ]
    }
}
```

Signature failed
signatureFailed

```json signatureFailed
  {
      "outcome": "signatureFailed",
      "transactionReference": "Memory265-13/08/1876",
      "authentication": {
          "version": "1.0.2",
          "eci": "02"
      },
      "_links": {
          "3ds:authenticate": {
              "href": "https://try.access.worldpay.com/verifications/customers/3ds/authentication"
          },
          "curies": [
              {
                  "href": "https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}",
                  "templated": true,
                  "name": "3ds"
              }
          ]
      }
  }
```

Unavailable
Error/Timeout whilst attempting authentication.

unavailable

```json unavailable
  {
      "outcome": "unavailable",
      "transactionReference": "Memory265-13/08/1876",
      "_links": {
          "3ds:authenticate": {
              "href": "https://try.access.worldpay.com/verifications/customers/3ds/authentication"
          },
          "3ds:verify": {
              "href": "https://try.access.worldpay.com/verifications/customers/3ds/verification"
          },
          "curies": [
              {
                  "href": "https://try.access.worldpay.com/rels/verifications/customers/3ds/{rel}",
                  "templated": true,
                  "name": "3ds"
              }
          ]
      }
  }
```

Warning
You cannot re-use the `authenticationValue` in multiple authorization requests. Re-using the `authenticationValue` in this way will result in issuer declines and may incur fees.

Apply the details (such as `eci`, `version`, `authenticationValue`, `transactionId`) required by [Card Payments](/access/products/card-payments/) in the [authorization request](/access/products/card-payments/authorize-a-payment#3ds). See [Testing](/access/products/3ds/testing) for details.

**Next steps**

[Take a payment](/access/products/card-payments/authorize-a-payment#3ds)
[Testing](/access/products/3ds/testing)