3D Secure 2.0 (3DS2) is a widely recommended solution for strong customer authentication (SCA) under PSD2. The Access Worldpay gateway integration provides support for 3DS2 through the embedded iFrame of Payment Pages 2.0.
To comply with PSD2 using 3DS2, the following updates are required:
- Configure the gateway instance.
- Configure 3DS2 settings in Payment Pages.
Then you can implement and use Payment Pages 2.0 as usual. See Payment Pages 2.0 implementation overview for more information.
The integration flow is identical to the Payment Pages without 3DS2, whereas the processing flow from the perspective of end customers is different from before. If end customers are challenged while transacting on your Payment Page, they will get held up on the challenge window before passing the validation. The callback page is displayed only when they are authenticated. A created payment method ID is also returned.
If your customers failed the strong customer authentication, the
[ThreeDs2_Authentication_Exception] error code and the actual error message are returned. The error code is common across all gateways, while the error message is gateway-specific.
Configure the gateway instance
If you are using WorldPay (Corporate Gateway), upgrade your gateway to Access Worldpay. Contact Zuora Global Support to get Access Worldpay enabled.
Configure 3DS2 settings in Payment Pages
When setting up a Payment Page, select the Enable 3D Secure 2.0 checkbox and select the created gateway instance from the Default Payment Gateway dropdown list. You can complete other settings as usual.
Zuora recommends you to enable the CAPTCHA challenge feature so that you can limit the number of times end customers can attempt to submit the form after they fail the authentication. CAPTCHA challenge can be used with the 3DS2 feature to prevent potential bot attacks and reinforce the transaction security.
To enable CAPTCHA challenge, you should set a positive integer for both the Limit the number of submission before CAPTCHA Challenge and Limit the number of submission before blocking Submission fields when configuring the Payment Page.