Overview

As part of the Revised Payment Services Directive(PSD2) regulation, Strong Customer Authentication(SCA) is a new requirement that comes into effect from September 14, 2019. If your Business targets European customers, they might have to perform additional authentication while submitting their credit card details.

3-D Secure

3-D Secure(3DS) authentication is one reliable way of verifying the customers’ authenticity. 3DS 2.0 is an upgraded version which allows customer device ID to be sent over to the Issuing Bank to verify their authenticity and provide a frictionless checkout experience. For some reasons and scenarios, the Issuing Bank may deem more proof for validating the transaction. The customer will go through the necessary 3DS verification flows during such cases.

If the Issuing Bank does not support 3DS 2.0, then the customer would be made to authenticate via 3DS 1.0 (i.e) redirection flow, during which the customer would be taken to a new authentication window and asked to enter a password to verify.

How to be SCA-ready?

  • If you are using Chargebee's Checkout and Self-serve portal for collecting card details, implementing 3DS at the gateway level is enough for you to be ready for SCA
  • If you are using Chargebee's Hosted Components and Fields for collecting card details, check this section on how to support 3DS in your checkout flow.
  • If you are collecting raw card details on your own and creating subscriptions/payment sources directly using our APIs, 3DS Helper module of Chargebee.js will help you to be SCA compliant by taking care of 3DS flows.

3DS Helper JS

3DS Helper JS is a module within Chargebee.js to support 3DS flows for various scenarios such as passing.

  • Tokenized card details
  • Raw card details
  • Permanent token(Reference ID)
  • Chargebee temporary token (Obtained using Components & Fields)

Any of the above values can be passed to the handleCardPayment function of 3DS Helper JS and Chargebee will take it forward from there and complete the 3DS flow.

Therefore, 3DS helper is a catch-all module for each checkout scenario as laid out in this table

Scenario Gateway-specific 3DS solution in Chargebee
You have raw card details from your checkout - Initialize 3DS helper JS and pass the raw card details to handleCardPayment function
You have tokenized card details Gateway temporary token Initialize 3DS helper JS and pass the tokenization function to handleCardPayment function
You have the Reference ID of a stored card Gateway permanent token Initialize 3DS helper JS and pass the stored card's Referece ID to handleCardPayment function
You have tokenized card details using Chargebee.js Components & Fields All 3DS supported gateways in Chargebee Initialize 3DS helper JS and pass the Chargebee Temporary token to handleCardPayment function
You have implemented Chargebee.js Components & Fields All 3DS supported gateways in Chargebee Use the authorizeWith3ds function in the Chargebee Instance

Advantages

  • Even though each gateway has their own version of JS to support 3DS, our JS is tailor made for subscription business.
  • In case you are already collecting card details using a gateway JS, Chargebee.js can coexist and fit in your flow by handling 3DS authentication alone.
  • Chargebee.js accommodates all 3DS supported gateways in Chargebee. Hence you can route the payment via your preferred gateway for each currency, and perform 3DS flow for the same.

Supported Gateways

  • Adyen
  • Braintree
  • Chargebee Test Gateway
  • Stripe