Transaction Optimisation Integration

3DS Data Enrichment

3DS Data Enrichment uses historic data of a customer to generate a partially filled Authentication Request message (AReq). The fields returned in the AReq can be passed on to your 3DS provider to improve the likelihood of a successful 3DS authentication.

Enabling 3DS Data Enrichment

3DS Data Enrichment needs to be enabled on your account before it can be used. Please speak to your account manager to get it enabled. Note that enrichment is only supported when transaction optimisation is enabled and our recommended action is AUTHENTICATE.

Using Enriched AReq

The enriched AReq will be returned inside the data.threeDS field. The format of the field is available in the Checkout Endpoint API Reference.

You will need to pass the returned AReq fields to your 3DS provider. Please speak to your account manager if you require assistance with mapping the fields to your 3DS provider’s API.

Example Response

{
  "status": 200,
  "timestamp": 1722951869,
  "data": {
    "customerId": "abc-123-XYZ",
    "action": "ALLOW",
    "score": 16,
    "source": "RULE",
    "scoreId": "9a8e68ab-f5dc-4064-894d-ef0cb7d52544",
    "transactionOptimisation": {
      "transactionId": "ea376fe5-cc16-4a6e-b553-88b1d559a56c",
      "action": "AUTHENTICATE",
      "actionSource": "CLIENT_RULE"
    },
    "threeDS": {
      "areq": {
        "acctInfo": {
          "chAccAgeInd": "05",
          "chAccDate": "20240528",
          "nbPurchaseAccount": "1",
          "paymentAccAge": "20240528",
          "paymentAccInd": "05",
          "txnActivityDay": "1",
          "txnActivityYear": "2",
          "suspiciousAccActivity": "01"
        },
        "merchantName": "merchant",
        "mcc": "5691",
        "addrMatch": "Y",
        "billAddrLine1": "Bentima House",
        "billAddrLine2": "168-172 Old Street",
        "billAddrCity": "London",
        "billAddrState": "London",
        "billAddrCountry": "826",
        "billAddrPostCode": "EC1V 9BP",
        "shipAddrLine1": "Bentima House",
        "shipAddrLine2": "168-172 Old Street",
        "shipAddrCity": "London",
        "shipAddrState": "London",
        "shipAddrCountry": "826",
        "shipAddrPostCode": "EC1V 9BP"
      }
    }
  }
}

Next steps

Test your transaction optimisation integration

Learn how to correctly handle transaction optimisation errors

Feedback