Skip to content

SCA Exemptions

Request an SCA Exemption from us to reduce 3DS checkout friction and remain SCA compliant. You can be granted:

  • Type: lowRisk or lowValue in placement authorization to skip 3DS authentication but with the risk of the issuer rejecting the exemption and returning a soft decline so 3DS authentication is required anyway. 3DS is initiated automatically by the Payments API if the exemption is soft declined.

  • Type lowRisk in placement authentication to reduce the chance of a 3DS challenge and improve authentication rates.

For more general information on Strong Customer Authentication (SCA) see our SCA compliance page.

How to enable

The request must contain:

  • instruction.threeDS object as described in 3DS Authentication - You must include this for SCA Exemptions
  • instruction.exemption.type = integrated - used to indicate the exemption is requested from Worlpay's TRA solution
  • instruction.exemption.mode = always - used to indicate the exemption is always requested. The ability to restrict to SCA applicable cards will be added soon.
  • instruction.exemption.capability = authorizationAndAuthentication - defines which exemption placement types can be returned. See our request schema for allowed values.

Optionally:

  • When using instruction.exemption.capability as authorizationAndAuthentication you can specify a preference for the exemption on a per request basis using instruction.exemption.request for both the type and/or placement. See our request schema for details.

If SCA exemptions are not applicable (e.g. first in a recurring series (CIT), 3DS not enabled, Apple Pay, Google Pay) we will return a validation error message.

Example Request

{
    "transactionReference": "Memory265-13/08/1876",
    "merchant": {
        "entity": "default"
    },
    "instruction": {
        "method": "card",
        "paymentInstrument": {
            "type": "plain",
            "cardHolderName": "Sherlock Holmes",
            "cardNumber": "4000000000001091",
            "expiryDate": {
                "month": 5,
                "year": 2035
            }
        },
        "exemption": {  
            "type": "integrated", 
            "mode": "always", 
            "capability": "authorizationAndAuthentication"  
        }, 
        "threeDS": {
            "type": "integrated",
            "mode": "always",
            "deviceData": {
                "acceptHeader": "text/html",
                "userAgentHeader": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0)",
                "browserLanguage": "en-GB",
                "browserScreenWidth": 900,
                "browserScreenHeight": 1200,
                "browserJavaEnabled": true,
                "browserColorDepth": "32",
                "timeZone": "300",
                "browserJavascriptEnabled": true,
                "channel": "browser"
            },
            "challenge": {
                "returnUrl": "http://payment.example.com"
            }
        },
        "customer": {
            "email": "john.appleseed@example.com",
            "phone": "00000000000",
            "ipAddress": "192.168.0.1"
        },
        "narrative": {
            "line1": "trading name"
        },
        "value": {
            "currency": "GBP",
            "amount": 42
        }
    }
}

Request schema

typestringrequired

Ask for an SCA exemption recommendation directly from Worldpay (integrated) or use a 3rd party TRA solution.<br>Note: Only type integrated is supported for now.

Value"integrated"
modestringrequired

Specify which transactions to request SCA Exemptions for.

Value"always"
capabilitystringrequired

Indicates whether the exemption requested from Worldpay can return a placement of authorization (payment) and/or authentication (3DS).

Enum ValueDescription
authenticationOnly

The SCA Exemptions service can only return a placement of authentication.

authorizationOnly

The SCA Exemptions service can only return a placement of authorization.

authorizationAndAuthentication

The SCA Exemptions service can return either a placement of authorization or authentication.

Example: "authenticationOnly"
requestobject


Example response

In the payment response you will be provided a summary of what happened when requesting and applying the exemption.

To see a full list of outcomes view the testing (SCA exemptions tab) section.

{
  "outcome": "authorized",
  "transactionReference": "Memory265-13/08/1876",
  "schemeReference": "060720116005060",
  "issuer": {
    "authorizationCode": "675725"
  },
  "riskFactors": [
    {
      "risk": "notChecked",
      "type": "cvc"
    },
    {
      "risk": "notChecked",
      "detail": "address",
      "type": "avs"
    },
    {
      "risk": "notChecked",
      "detail": "postcode",
      "type": "avs"
    }
  ],
  "exemption": { 
    "granted": true,
    "placement": "authorization",
    "type": "lowRisk",
    "result": "honored",
    "reason": "issuerHonored"
  },
  "paymentInstrument": {
    "type": "card/plain+masked",
    "cardBin": "400000",
    "lastFour": "1000",
    "countryCode": "GB",
    "expiryDate": {
      "year": 2035,
      "month": 5
    },
    "cardBrand": "mastercard",
    "fundingType": "debit",
    "category": "consumer",
    "issuerName": "BANK LIMITED",
    "paymentAccountReference": "3001DBT34Q41D6J7PFC5W0UA4OT4C"
  },
  "_links": {
    "self": {
      "href": "https://try.access.worldpay.com/api/payments/eyJrIjoiazNhY...."
    }
  },
  "_actions": {
    "cancelPayment": {
      "href": "https://try.access.worldpay.com/api/payments/eyJrIjoiazNhYjYz..../cancellations",
      "method": "POST"
    },
    "settlePayment": {
      "href": "https://try.access.worldpay.com/api/payments/eyJrIjoiazNhYj..../settlements",
      "method": "POST"
    },
    "partiallySettlePayment": {
      "href": "https://try.access.worldpay.com/api/payments/eyJrIjoiaz..../partialSettlements",
      "method": "POST"
    }
  }
}

Response schema

grantedboolean

Was an exemption returned by Worldpay's TRA assessment.

placementstring

Indicates whether the exemption has been placed in a payment authorization request or 3DS authentication request.

Enum ValueDescription
authorization

Exemption applied in the payment authorization.

authentication

Exemption applied in the payment authentication.

typestring

The type of applied exemption.

Enum ValueDescription
lowValue

Applied a lowValue exemption

lowRisk

Applied a lowRisk exemption

resultstring

The result of the exemption placement request.

Enum ValueDescription
rejected

Possible reason: issuerRejected, highRisk, invalid, unsupportedScheme, notSubscribed, unsupportedAcquirer or unknown

honored

Possible reason: issuerHonored or unknown

outOfScope

Possible reason: merchantInitiatedTransaction, oneLegOut, moto, contactless or unknown

unknown

Possible reason: unknown

reasonstring

The reason returned by the card issuer.

Enum"issuerHonored""merchantInitiatedTransaction""oneLegOut""issuerHonored""moto""contactless""issuerRejected""highRisk""invalid""unsupportedScheme"

Next steps