3D Secure 2 Exemptions

Spreedly is committed to providing a unified interface for requesting exemptions on our 3DS gateways. Below, you’ll find a list of exemptions we currently support using the field three_ds_exemption_type. Additional exemptions are forthcoming, and as always, you can refer to each gateway’s documentation for information on how to request any other exemptions directly.

NOTE: Requesting an exemption on a gateway does not ensure that the transaction will be considered exempt. For the best chance of success, make sure you continue to pass in all suggested data as outlined in the 3DS2 guide as you proceed with your transaction.

MOTO

To request a MOTO exemption across our 3DS2 supported gateways, you can pass in the value moto in the field three_ds_exemption_type.

  POST /v1/gateways/<gateway_token>/purchase.json HTTPS/1.1
  Host: core.spreedly.com
  Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
  Content-Type: application/<format>

  {
    "transaction": {
      "payment_method_token": "<payment_method_token>",
      "amount": 3001,
      "currency_code": "USD",
      "redirect_url": "<redirect_url>",
      "callback_url": "<callback_url>",
      "three_ds_version": "2",
      "attempt_3dsecure": true,
      "browser_info": "<browser_info>",
      "three_ds_exemption_type": "moto"
    }
  }

The following gateways support this request:

  • Adyen
  • Barclaycard SmartPay
  • Checkout.com
  • Credorax
  • Stripe Payment Intents (Before attempting, contact Stripe support to configure your account to allow MOTO requests. Requests will fail if this feature is not enabled.)
  • Worldpay (Before attempting, contact Worldpay support to configure your account to allow MOTO requests. Requests will fail if this feature is not enabled.)

Low Value

To request a low value exemption across our 3DS2 supported gateways, you can pass in the value low_value in the field three_ds_exemption_type.

  POST /v1/gateways/<gateway_token>/purchase.json HTTPS/1.1
  Host: core.spreedly.com
  Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
  Content-Type: application/<format>

  {
    "transaction": {
      "payment_method_token": "<payment_method_token>",
      "amount": 3001,
      "currency_code": "USD",
      "redirect_url": "<redirect_url>",
      "callback_url": "<callback_url>",
      "three_ds_version": "2",
      "attempt_3dsecure": true,
      "browser_info": "<browser_info>",
      "three_ds_exemption_type": "low_value"
    }
  }

The following gateways support this request:

  • Adyen (NOTE: You are not required to explicitly request this exemption on Adyen for it to be applied. Only request if you want to override the gateway’s built-in exemption process for this class of exemption. For more information, see here)
  • Barclaycard SmartPay (NOTE: You are not required to explicitly request this exemption on Barclaycard SmartPay for it to be applied. Only request if you want to override the gateway’s built-in exemption handling for this class of exemption. For more information, see here)
  • Worldpay