Last update 20/04/2016

2. 3-D transaction flow via DirectLink

The transaction flow involves the following steps:

  1. You send us a DirectLink request for the transaction, containing a number of additional parameters (cf. Extra request parameters).
  2. Our system receives the card number in your request and checks online whether the card is registered in the VISA/MasterCard/JCB/AmEx directory (registered means that identification is possible for the card number, i.e. the card is a 3-D Secure card).
  3. If the cardholder is registered, the answer to the DirectLink request contains a specific payment status and html code that has to be returned to the customer to start the identification process (cf. Additional return fields). The block of html code will automatically start the identification process between the cardholder (customer) and his issuing bank.
  4. The cardholder identifies himself on the issuing bank’s page.
  5. Our system receives the identification response from the issuer.
  6. If the identification was successful, our system will submit the actual financial transaction to the acquirer.
  7. You receive the result of the global identification and online authorisation process via e-Commerce mode feedback channels.

Comments:

  • Whether the liability shift applies or not depends on your acquirer contract. Therefore, we recommend you to check the terms and conditions with your acquirer.
  • If the cardholder is not registered (in step 3), you will receive the standard DirectLink XML response containing the result of the online authorisation process.
  • To receive the exact payment status/error codes (in step 7), you need to implement the online or offline post-sale feedback as described in the e-Commerce documentation.

2.1 Extra request parameters

Apart from the standard DirectLink parameters, you also need to send the following information:

Field Description
FLAG3D

Fixed value: ‘Y’

Instructs our system to perform 3-D Secure identification if necessary.

HTTP_ACCEPT The Accept request header field in the cardholder browser, used to specify certain media types which are acceptable for the response. This value is used by the issuer to check if the cardholder browser is compatible with the issuer identification system. For example:
Accept: */*
HTTP_USER_AGENT The User-Agent request-header field in the cardholder browser, containing information about the user agent originating the request. This value is used by the issuer to check if the cardholder browser is compatible with the issuer identification system. For example: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)
WIN3DS Way to show the identification page to the customer. Possible values:
  • MAINW: display the identification page in the main window (default value).
  • POPUP: display the identification page in a pop-up window and return to the main window at the end.
  • POPIX: display the identification page in a pop-up window and remain in the pop-up window.
ACCEPTURL URL of the webpage to show the customer when the payment is authorised. (or waiting to be authorised).
DECLINEURL URL to which the customer is redirected if the maximum number of failed authorisation attempts has been reached (10 by default, but which can be changed in the Technical Information page, "Global transaction parameters" tab, "Payment retry" section).
EXCEPTIONURL URL of the webpage to show the customer when the payment result is uncertain.
PARAMPLUS Field to submit the miscellaneous parameters and their values that you wish to be returned in the post-sale request or final redirection.
COMPLUS Field to submit a value you wish to be returned in the post-sale request or output.
LANGUAGE Customer’s language, for example: “en_US”
Optional
TP To change the layout of the "order_A3DS" page, you can send a template name/url with this parameter. (go to e-Commerce: Dynamic template).

For more information, go to e-Commerce.

2.2 Additional return fields

If the cardholder is not registered, the normal DirectLink response is returned. If the cardholder is registered, the following (additional) fields will be returned:

Field Description
STATUS
New value: “46” (waiting for identification)
HTML_ANSWER

BASE64 encoded html code to be added in the html page returned to the customer.

This tag is added as a child of the <ncresponse> global XML tag. The field HTML_Answer field contains HTML code that has to be added in the html page returned to the customer's browser.

This code will automatically load the issuer bank identification page in a pop-up in the main window, depending on the WIN3DS parameter value.

To avoid any interference between the html tags included in the content of the HTML_ANSWER XML tag, with the rest of the XML returned as a response to the DirectLink request, the HTML_ANSWER content is BASE64 encoded by our system before returning the response. Consequently, this must be BASE64 DEcoded before it is included in the html page sent to the cardholder.

2.3 Comments

2.3.1 Test cards

You can use the following test cards to simulate a 3-D Secure registered card in our test environment:

Brand Card number Expiry date Password
VISA 4000000000000002 Any date in the future 11111
MasterCard 5300000000000006 Any date in the future 11111
American Express 371449635311004 Any date in the future 11111

2.3.2 Incorrect identification

If a transaction is blocked due to incorrect identification, the transaction result will be:

STATUS = 0

NCSTATUS = 5

NCERROR = 40001134

This website uses cookies to be able to give you the best user experience. If you don't want to accept these cookies, we allow you to change the cookie settings. Click 'Accept' to allow all cookies from this website.

Cookie settings

Introduction

Functional

Functional cookies are required for the website to operate correctly. These cookies cannot be disabled.

Optimized

Optimization cookies allow us to analyze site usage so we can measure and improve our website.
This is the default level.

Personalized

Personalization cookies are used for social media and advanced personalization. They allow us to show you information related to your company.


Example functionality allowed

  • Store country preference
  • Store language preference

Example functionality not allowed

  • Saving personal data
  • Anonymous tracking via Google Analytics
  • Tracking for remarketing purposes

Example functionality allowed

  • Store country preference
  • Store language preference
  • Anonymous tracking via Google Analytics

Example functionality not allowed

  • Saving personal data
  • Tracking for remarketing purposes

Example functionality allowed

  • Store country preference
  • Store language preference
  • Anonymous tracking via Google Analytics
  • Serve content relevant to your interests
  • Serve ads relevant to your interests
  • Tracking for remarketing purposes

Example functionality not allowed

  • Saving personal data