Hosted Checkout Integration for PSD2 SCA
This page describes the integration effort to support PSD2 SCA compliance and exemptions for a Hosted Checkout 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 support to Hosted Checkout.
To use the PSD2 SCA exemptions functionality via 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 Hosted Checkout integration to the gateway for 3DS2.
- You must submit the Create Checkout Session request to initiate the Hosted Checkout interaction using version 57 or above.
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
If you want Hosted Checkout to authenticate the payer (without claiming an exemption) you do not need to make any changes to your existing Hosted Checkout integration with 3-D Secure Authentication support. 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 gateway will automatically add the authentication details as the issuer provides in the authentication response to the payment request that is submitted to the acquirer for processing.
Claiming an exemption when requesting payer authentication
You can claim an exemption by adding the field authentication.psd2.exemption
to the Create Checkout Session request with one of the following values:
- 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.
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 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 and will automatically request the exemption when submitting the payment for processing with the acquirer. |
Claiming an exemption when submitting a payment
Hosted Checkout does not have support for bypassing 3DS authentication and requesting an exemption on the payment. You can bypass 3DS authentication by submitting interaction.action.3DSecure=BYPASS
in the Create Checkout Session request. However, if the issuer does not grant the exemption and does not apply an issuer exemption, the payment will be unsuccessful. Hosted Checkout will not perform 3DS authentication when the payment fails because of missing payer authentication required under PSD2 SCA. The payer will be presented with a page telling them that the payment was not successful.
Using the gateway for authentication only
Hosted Checkout does not support performing payer authentication only, without proceeding to the payment. If you want to use the gateway for authentication only, you must use Direct Payment integration.
Whitelisting
Hosted Checkout does not provide support for asking the issuer to offer the payer to add you to their whitelist (for the card).
However, if you know that the payer has whitelisted you, you can request the application of the whitelisting exemption by adding authentication.psd2.exemption=WHITELISTED_MERCHANT
to the Create Checkout Session request.
The issuer will validate that the payer has whitelisted you and either:
- grant the exemption (frictionless flow for the payer) and return authentication details for a successful authentication, or
- not grant the exemption and present the payer with the challenge flow.
If the payer has whitelisted you, and you proceed to the payment without authenticating the payer, the issuer may grant the exemption or reject the transaction request.
Merchant-initiated payments
If you are required to comply with PSD2 SCA requirements, you cannot use Hosted Checkout for a cardholder-initiated payment in a series of merchant-initiated payments (including recurring payments with a fixed amount). For these payments, you must enforce payer authentication with the 3DS challenge. However, Hosted Checkout currently does not provide support for enforcing the 3DS challenge — field authentication.challengePreference
cannot be provided on the Create Checkout Session request.
Testing your integration
You can test your integration using your test merchant profile (your merchant ID prefixed with "TEST"). The following sections provide details about the test card numbers that can be used to trigger a specific response.
To trigger a response indicating that the issuer granted an exemption that you have requested:
- Submit a Create Checkout Session request with the following:
For API version greater than 63, use API operation Initiate Checkout Session instead of Create Checkout Session.
apiOperation
=CREATE_CHECKOUT_SESSION
authentication.psd2.exemption
set to one of the following:
LOW_RISK
LOW_VALUE_PAYMENT
SECURE_CORPORATE_PAYMENT
- During the SRC interaction select one of the following test cards: 5506900140100107 (Mastercard), 4532249999999388 (Visa)
- This will result in an order with an authentication transaction with:
authentication.psd2.exemption
set to the value provided in the request, i.e., one of the following:
LOW_RISK
LOW_VALUE_PAYMENT
SECURE_CORPORATE_PAYMENT
transaction.authenticationStatus=AUTHENTICATION_EXEMPT
response.gatewayRecommendation=PROCEED
response.gatewayCode=APPROVED
order.status=AUTHENTICATION_NOT_NEEDED
authentication.3ds2.transactionStatus=N
(Mastercard) orN
(Visa)authentication.3ds2.statusReasonCode=81
(Mastercard only)authentication.3ds2.statusReasonCode=89
(Visa only)authentication.3d.acsEci=06
(Mastercard) or07
(Visa)authentication.3ds.authenticationToken
- The Authorize or Pay transaction on this order will be successfully processed.
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 via 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.