3DSecure: Difference between revisions

From Barion Documentation
Jump to navigation Jump to search
mNo edit summary
No edit summary
(One intermediate revision by the same user not shown)
Line 10: Line 10:
* '''3D Secure 2. version ''' is more sophisticated and uses additional information about the purchase, the shop and the cardholder to make the decision. This requires more input data but provides better flow with less friction.
* '''3D Secure 2. version ''' is more sophisticated and uses additional information about the purchase, the shop and the cardholder to make the decision. This requires more input data but provides better flow with less friction.


According to The European Union from 14th of September every card that is protected with the 3DS version 2 should authenticate via this process.
{{NotificationBox|title=IMPORTANT|text=There is also a liability shift if the merchant uses the 3DS v2 authentication. If the customer completes a 3DS v2 authentication the liability shifts from the merchant to the card issuer in case of fraud.|color=#FF7A3D}}
 
According to The European Union from 14th of September every card that is protected with the 3DS version 2 should authenticate via this process.  


The payment follows these steps:
The payment follows these steps:

Revision as of 08:46, 10 August 2019

3DSecure

WARNING
This article is incomplete. It may change significantly without any notice, so don't rely on any content you find here yet. Please check back later.


3D Secure (3DS, Three-Domain Secure) is a messaging protocol developed by EMVCo to provide a more secure online card payment process. If the card is enrolled into 3DS authentication additional information is required to decide whether the purchase is fraudulent or not. This decision is made by the card's issuer (the bank or other institution that issued the card) not by the Barion system. There are two different versions of the protocol:

  • 3D Secure 1. version is a HTTP redirect based scenario where the customer almost always needs to provide some extra proof for the transaction.
  • 3D Secure 2. version is more sophisticated and uses additional information about the purchase, the shop and the cardholder to make the decision. This requires more input data but provides better flow with less friction.
IMPORTANT
There is also a liability shift if the merchant uses the 3DS v2 authentication. If the customer completes a 3DS v2 authentication the liability shifts from the merchant to the card issuer in case of fraud.

According to The European Union from 14th of September every card that is protected with the 3DS version 2 should authenticate via this process.

The payment follows these steps:

  1. The customer checks out from the merchant's website and decides to pay for the goods via Barion.
  2. Customer is redirected to the Barion Smart Gateway.
  3. Customer inputs it's card information and clicks the Pay button.
    --- Until this point nothing changed ---
  4. Barion checks whether the card the customer used is protected with 3DS authentication. The card could be either protected or not. If the card is not protected then nothing changes, the card authorization (charge) goes along as it would normally.
  5. If the card is protected
    • with 3DS authentication v1.0, the v1 flow will be started:
      1. an authentication screen is displayed for the customer in a popup
      2. the customer must complete the challenge displayed
      3. if the challenge is successful the payment process continues
    • with 3DS authentication v2.0, the v2 flow will be started:
      1. Barion starts the 3DS authentication in the background. Sends a lot of relevant information about the purchase to the card issuer. From this information the issuer decides whether the payment is secure or should the customer be challenged in some form.
      2. If the result is that the customer should not be challenged (it is called frictionless flow) the customer's card is charged and the payment flow is continued.
      3. If the result is that the issuer needs more proof from the customer a popup window will be displayed. In this window the issuer will display something for the customer. The content is up to the issuer but will be something that allows the customer to provide proof (SMS, token, question).
      4. After the customer successfully completed the challenge the card is authenticated and the payment flow continues with the authorization of the card. The card still can be declined after successful 3DS authentication.
  6. At the end of the payment the customer will be redirected to the merchant's website

3D Secure 1.0

In case the card is protected with 3DS v1 the customer will be presented with a popup. This popup will show an extra authentication step that has to be completed in order to continue the payment.

3D Secure 2.0

The reason behind the second version was to provide a way to achieve the same level of security for the authentication but with less friction. For this a lot more information is required (or at least it is strongly recommended to provide them). This information comes from different sources:

  • merchant's data about the customer (purchase behavior, addresses, etc)
  • customer's browser information (screen size, timezone, language, etc)
  • customer provided data (card information, e-mail address)
  • Barion's data about the merchant, the purchase and the customer (merchant's MCC code, name of the shop, etc)

The card issuer receives this information package and calculates the risk of the transaction. The result of this calculation specifies the flow:

  • Frictionless flow: The customer will not be presented with any challenge screen, no more information needed, the authorization can take place.
  • Challenge flow: The information was not sufficient, additional challenge is needed to make sure that the card is not stolen.

To achieve the frictionless flow the merchant has to provide as many information as possible about the purchase and the customer. This must be provided during the v2/payment/start API call. The properties marked as 3DS must be specified. However there are scenarios where not all of this data is available. In these cases there are ways to indicate the lack of information. If the merchant does not provide the necessary data the payment will be most likely fall into the challenge flow. This should be avoided because it causes friction and may result in the customer leaving the payment.

Although providing this data enhances the possibility of the frictionless flow it does not make it certain. This decision is up to the card issuer, Barion does not influence it. In case of challenge flow the card issuer will provide a challenge screen that the customer must complete. This can be various things: one time password sent via text, secret password, etc.

Token payment with 3D Secure v2

A token payment is a payment where the customer (the payer) is not redirected to the Barion Smart Gateway instead a previously created token is used to charge the customer. The second version of 3DS defines different scenarios for different token payments.

  • Merchant Initiated Transaction is when the merchant initiates the payment without the customer being present on the merchant's website. This creates a subscription like behavior. In this scenario no 3DS authentication is required.
  • One Click Payment is when the merchant makes is available for the customer to purchase goods without using the Barion Smart Gateway to input the payment information again. In this case the customer is present at the time of the purchase. In this scenario the 3DS authentication is required.

In case of One Click Payment the merchant has to reference JavaScript file provided by Barion on the checkout page.

TODO: Describe the One Click Payment process in detail