3DS JavaScript API Integration for PSD2 SCA
This page describes the integration effort to support PSD2 SCA compliance and exemptions for a 3DS JavaScript API integration. Before you proceed to build your integration, it is recommended that you familiarize yourself with PSD2 SCA Compliance and Exemptions.
Supported exemptions
The gateway currently has support for the following exemptions:
- Low Risk
- Low Value
- Whitelisting
- Recurring Payments
- Secure Corporate Payments
Prerequisites
To comply with PSD2 SCA requirements, you need to add 3-D Secure Authentication to your gateway integration.
To use the PSD2 SCA exemptions functionality through the gateway:
- Your merchant profile on the gateway must be enabled and configured for the PSD2 exemptions you want to use by your payment service provider.
- You must not configure any 3-D Secure Transaction Filtering rules.
- You must have a 3DS JavaScript API integration to the gateway for 3DS2.
- You should submit as much payer and transaction information as possible when initiating the authentication. This will raise the probability of an exemption being granted or applied by the issuer.
Requesting payer authentication
You can submit the authentication request without claiming an exemption. In this case, you do not need to make any changes to your integration with the gateway's 3DS JavaScript API.
If PSD2 SCA applies to the transaction, the issuer will either present the payer with the 3DS challenge or apply an issuer exemption where the payer will experience a frictionless checkout flow. In both cases, the required authentication details are contained in the response, and you can proceed to the payment in the standard way.
Claiming an exemption when requesting payer authentication
If the Initiate Authentication response indicates that 3DS is available for the card, that is, data.authenticationVersion
with value 3DS2 or 3DS1, you can claim an exemption when invoking the authenticatePayer()
method. Add authentication.psd2.exemption
field with one of the following values to the optionalParams
request field. For more information, see Step 4: Authenticate Payer.
- LOW_RISK
- LOW_VALUE_PAYMENT
- SECURE_CORPORATE_PAYMENT
If you are not enabled for the requested exemption, the request is processed as if you did not request an exemption. The issuer may:
- grant the exemption you have requested,
- apply an issuer exemption, or
- deny the exemption you have requested and not apply an issuer exemption.
authentication.challengePreference
=NO_CHALLENGE
You can claim an exemption for all the cases listed below:
- 3DS2 or 3DS1 are available for the card, that is, the Initiate Authentication response returned
data.authenticationVersion
with value 3DS2 or 3DS1.- If 3DS2 is available, the gateway will request the exemption during the authentication.
- If 3DS1 is available, the gateway will bypass the authentication and advise you to proceed to the payment. The gateway will automatically request the exemption when submitting the payment for processing to the acquirer.
- Your acquirer supports PSD2 exemptions. If the acquirer does not support exemptions, the gateway will automatically request the authentication without asking for an exemption.
- The issuer supports PSD2 exemptions for authentications. If the issuer does not support PSD2 exemptions, the gateway will bypass the authentication and advise you to proceed to the payment. The gateway will automatically request the exemption when submitting the payment for processing to the acquirer.
If you are not enabled for the requested exemption, the request is processed as if you did not request an exemption. The issuer may:
- grant the exemption you have requested,
- apply an issuer exemption, or
- deny the exemption you have requested and not apply an issuer exemption.
Special handling is applied if your acquirer or the scheme does not support exemptions.
Scenario | Description |
---|---|
Issuer Grants Acquirer Exemption | If the issuer grants the exemption that you have requested:
|
Issuer Applies Issuer Exemption | If the issuer applies an issuer exemption:
|
Issuer Does not Grant or Apply an Exemption | If the issuer did not grant the exemption that you have requested and did not apply an issuer exemption:
|
Acquirer Does Not have Support for PSD2 Exemptions | If the acquirer (that will subsequently be used to process the payment) does not have support for PSD2 exemptions, the gateway will process the authentication as if no exemption were requested.
|
PSD2 Exemptions Not Supported for this Scheme | Requesting exemptions when performing the authentication is currently only supported for Mastercard and Visa. If the gateway does not have support to request PSD2 exemptions for a scheme, the gateway will proceed without performing 3DS.
|
Proceeding with a payment
If the response does not contain data.gatewayRecommendation=PROCEED
we do not recommend that you proceed with the payment. Ask the payer for another set of payment details.
If the Authenticate Payer response indicates that you can proceed with the payment (response.gatewayRecommendation=PROCEED
), proceed with the payment by submitting an Authorize or Pay request. For details, see Implementing a 3DS Integration using the 3DS JavaScript API (Step 5).
Fallback to 3DS1
If the card does not support 3DS2, the gateway may fall back to 3DS1. In this case, where you have requested an exemption, the gateway behavior depends on the acquirer support for PSD2 exemption. See table below for details.
Scenario | Description |
---|---|
Acquirer has Support for PSD2 Exemptions | The gateway will proceed without performing 3DS.
The response will not contain any 3DS details (indicating that 3DS was not performed). When you proceed with the payment, the gateway will automatically request the exemption when submitting the payment for processing with the acquirer. |
Acquirer Does Not have Support for PSD2 Exemptions | If the acquirer (that will subsequently be used to process the payment) does not have support for PSD2 exemptions, the gateway will process the authentication as if no exemption was requested.
|
Proceeding with a payment after a successful authentication
If you have successfully performed an authentication, that is, the Authenticate Payer response contains data.gatewayRecommendation=PROCEED
, proceed with the payment by submitting an Authorize or Pay request.
For details, see Implementing a 3DS Integration using the 3DS JavaScript API (Step 5). The gateway will automatically add the 3DS authentication details to the transaction request submitted to the issuer.
FAQs
I already have an integration with the gateway for 3DS1. Am I PSD2 SCA compliant?
If you have an existing integration with the gateway using the gateway's legacy API for 3DS1, you need to upgrade to EMV 3-D Secure Authentication and then follow the integration steps described on this page.
3DS 1 is only considered compliant with the PSD2 SCA mandate if the issuer sends a one-time password to the payer's phone when authenticating the payer, not where the issuer assigns a static password to the payer.
As not all issuers use one-time passwords, it is not recommended to rely on 3DS1 if you are required to comply with the PSD2 SCA mandate.
I have existing payment agreements for recurring payments or other merchant-initiated payments. Do I need to perform payer authentication for all my agreements again?
You do not need to authenticate the payer for such an agreement again. The schemes have rules for the transition period.
How do I proceed if I am using a session and the session contains an exemption, but the payment was rejected by the issuer because it is not PSD2 SCA compliant?
The gateway will ignore the exemption contained in the session when the order has a payment that has been rejected by the issuer because it is not PSD2 SCA compliant. Hence, it is not required that you remove the exemption from the session before performing the 3DS authentication for the order and re-submit the payment.
How can I search and view PSD2 exemption details for orders and transactions in Merchant Administration?
When searching for an order or transaction in Merchant Administration through the Order and Transaction Search, you can use the search term:
- "Payer Authentication Status":"Authentication Successful" to find all successfully authenticated orders
- "Payer Authentication Status":"Authentication Exempt" to find all orders where an exemption was requested or applied
The authentication status of the order is displayed on the Order and Transaction Details page in Merchant Administration in the field "Payer Authentication Status" in the "Payer Authentication Details" section. The field will have the value "Authentication Exempt" if an exemption has been requested or applied to the order.
The authentication status of the transaction is displayed on the Order and Transaction Details page in Merchant Administration in the section "Transactions". Select "View" for the transaction you want to view. Field 'Payer Authentication - Authentication Status' will have the value 'Authentication Exempt' if an exemption has been requested or applied to the transaction.