Check SCA requirements via API

Learn how to check whether Strong Customer Authentication (SCA) is required for a transaction.


Introduction

Strong Customer Authentication (SCA) is a PSD2 requirement for many online payments in Europe. It helps reduce fraud by requiring stronger customer verification. For card payments, 3D Secure (3DS) is a primary method for meeting SCA requirements.

Use the SCA Checker API before authorisation to determine whether a transaction requires SCA and select the appropriate action: apply 3DS, request an exemption where applicable, or proceed without SCA. This lets you avoid unnecessary authentication while reducing the risk of issuer soft declines for transactions that require SCA. It may also help reduce processing fees.

The SCA Checker evaluates the transaction context submitted in the request, including the card number, transaction amount and currency, whether the transaction is a Mail Order/Telephone Order (MOTO) or merchant-initiated, the recurring type, and any requested exemption. Based on this information, the response reflects one of three outcomes: SCA is required, SCA is not required, or SCA is in scope but an exemption may be possible.

For the complete details, see the API Reference.


Prerequisites

Before you start, verify that you have:

  • API credentials for HTTP Basic Authentication. You can find them in the merchant account creation email from emerchantpay support, or in the Gateway Console by going to Configuration > Merchants > Select the merchant > Terminals > Select the terminal > copy the details from the API Access panel.
  • The Terminal token required to specify the terminal configuration used for the SCA check.
  • The correct environment URL:
    • Staging – https://staging.gate.emerchantpay.net
    • Production – https://gate.emerchantpay.net

Check SCA requirements

POST /v1/sca/checker/:terminal_token

  • Staging – https://staging.gate.emerchantpay.net/v1/sca/checker/:terminal_token
  • Production – https://gate.emerchantpay.net/v1/sca/checker/:terminal_token

Use this endpoint to check whether Strong Customer Authentication is required for a transaction by sending the transaction context, such as the card number, amount, and currency, and optionally, the MOTO flag, Merchant Initiated Transaction (MIT) flag, recurring type, and requested exemption. The response indicates whether SCA is required and what exemption may be applicable, if any.

The SCA Checker is called per terminal. Replace :terminal_token with the terminal token for the terminal configuration that would be used to process the transaction.

The API has the following characteristics:

  • HTTP method – POST
  • Authentication method – HTTP Basic Authentication
  • Request format – JSON
  • Response format – JSON
  • Behaviour – Synchronous REST
  • Content type – application/json

Request example

The following example checks whether SCA is required for an initial recurring payment for EUR 25.00. The request also includes the card number, MOTO and MIT indicators, currency, and a check for a low-value exemption.

curl -u USERNAME:PASSWORD \
  https://staging.gate.emerchantpay.net/v1/sca/checker/:terminal_token \
  -X POST \
  -H “Content-Type: application/json” \
  -d ‘{
    “card_number”: “4200000000000000”,
    “moto”: false,
    “mit”: false,
    “recurring_type”: “initial”,
    “transaction_amount”: 2500,
    “transaction_currency”: “EUR”,
    “transaction_exemption”: “low_value”
  }’

Request parameters

Use the following parameters to provide the transaction context for the SCA check:

PARAMETER REQUIRED FORMAT DESCRIPTION
card_number Yes String, up to 16 characters Full card number or first 6 digits.
transaction_amount Yes Number Transaction amount in minor currency units.
transaction_currency Yes String, 3 characters Transaction currency in ISO 4217 format.
moto No Boolean Indicates whether the transaction is a mail order / telephone order transaction. If omitted, the default is false.
mit No Boolean Indicates whether the transaction is merchant-initiated. For example, this may apply to an unscheduled credential-on-file transaction initiated by the merchant based on a previous customer agreement. If omitted, the default is false.
recurring_type No String Specifies the recurring type of the transaction. Supported values are initial and subsequent.
Use initial for the first transaction in a recurring series. Initial recurring transactions may require SCA when they are in scope.
Use subsequent for later transactions in an existing recurring series.
transaction_exemption No String, up to 30 characters Checks if a specific SCA exemption may be applicable to the transaction. See the supported exemptions section for more details.

Supported exemptions

SCA exemptions allow eligible transactions to be processed without SCA in specific scenarios. When you submit a transaction_exemption, the SCA Checker evaluates whether the selected exemption may apply to the transaction. An exemption can reduce authentication friction, but it does not guarantee that the issuer will approve the transaction without SCA. The issuer may still request authentication or decline the transaction based on its own risk checks and regulatory obligations.

  • low_value – A low-value exemption may be available for eligible low-value transactions of EUR 30 or less. Issuers may still require SCA if applicable transaction counters or cumulative amount thresholds are exceeded.
  • low_risk – A low-risk exemption may be available where transaction risk analysis supports the exemption. The issuer may still require authentication even when an exemption is requested.
  • trusted_merchant – A trusted merchant exemption may be available when the cardholder has added the merchant to a trusted beneficiaries list held by the issuer. This exemption is controlled by the issuer and depends on the cardholder’s prior consent.
  • corporate_payment – A secure corporate payment exemption may be available for eligible transactions made through dedicated corporate payment processes or instruments. This can apply where the payment is initiated in a controlled business environment and meets the relevant scheme and regulatory requirements. This exemption is controlled by the issuer.
  • auth_network_outage – An authentication network outage exemption may be available when authentication cannot be completed because of an outage affecting the authentication network. This exemption is intended for exceptional cases where the authentication service is unavailable.

Card brand support

Not all SCA exemption values are supported by every card brand. Check the card brand before requesting an exemption.

EXEMPTION VISA MASTERCARD / INTL MAESTRO DINERS / DISCOVER
low_value Supported Supported Supported
low_risk Supported Supported Supported
trusted_merchant Supported Supported Not supported
corporate_payment Supported Supported Supported
delegated_authentication Not supported Not supported Not supported
auth_network_outage Supported Supported Not supported

Response example

The following response shows that SCA is not required because the issuer is outside the EEA, and no exemption has been returned.

[
  {
    “sca_required”: “no”,
    “sca_result_reason”: “Issuer out of the EEA”,
    “exemption”: null
  }
]

Response parameters

The response includes the following parameters:

PARAMETER TYPE DESCRIPTION
sca_required String Indicates whether SCA is required. Use the value to decide how to route the transaction. Possible values are yes, possible_exemption, or no. See the result handling section for more details.
sca_result_reason String Reason for the returned SCA requirement result.
exemption String or null Detected SCA exemption, if applicable. See the supported exemptions section for more details.

Result handling

Use the sca_required value in the API response to decide how to route the transaction before authorisation. The result indicates whether the transaction should go through 3D Secure authentication, whether an exemption may be requested, or whether SCA is not required based on the submitted transaction context.

SCA_REQUIRED VALUE RECOMMENDED ACTION
yes SCA is required. Route the transaction through 3D Secure authentication.
possible_exemption SCA is in scope, but an exemption may be requested. Continue with the relevant exemption flag, but prepare for the issuer to require authentication.
no SCA is not required. Continue without SCA, unless your own risk or compliance rules require additional checks.

Some transactions may be outside the scope of SCA because of their nature.

For post-processing exemption outcomes, see SCA Reason for Not Honoring Exemption Values and SCA Exemption Result Values in the API Reference. These values relate to payment transaction responses and are not part of the SCA Checker response.