3‑D Secure authentication on merchant side

General information

Customer 3‑D Secure authentication can be performed either on the ecommpay payment platform side or on the merchant side. If authentication is performed on the merchant's side, the authentication result must be sent to the payment platform in order to make a payment. Repeated authentication on the payment platform side will not occur.

To enable the capability, contact technical support (support@ecommpay.com).

Sending the 3‑D Secure authentication result

Information about the 3‑D Secure authentication result is passed in the authentication_data object in a request for performing a one-time purchase, including purchases that use a token or saved card data, or a request for card verification. Data is passed in the following parameters:

Parameter Type Mandatory Description
cavv string Mandatory if authentication_status=Y or A Cardholder authentication verification value (base64 encoded, 20 bytes in a decoded form)
ds_operation_id string Mandatory if threeds_version=3ds_2 The unique operation identifier assigned by the Directory Servers
eci string Mandatory if authentication_status=Y or A The electronic commerce indicator, for more information, see the section Electronic Commerce Indicators
threeds_version string Optional Indicator of the 3‑D Secure authentication:
  • 3ds_2
  • non_3ds
threeds_full_version string Optional The version of the 3‑D Secure protocol, for example 2.3.1
xid string Mandatory Transaction identifier resulting from authentication processing (base64 encoded, 20 bytes in a decoded form)
authentication_status string Mandatory, except if enrollement_status=N or U

Cardholder authentication status. Possible values are:

  • Y—the cardholder was successfully authenticated by their card issuer
  • A—the cardholder authentication was attempted
  • U—the card issuer was unavailable during the authentication attempt
authentication_status_reason_code string Optional Code of the authentication status reason
authentication_flow string Optional Scenario of 3‑D Secure authentication
  • Frictionless,
  • Challenge
Figure 1. Example of a payment request with 3‑D Secure authentication on the merchant's side
{
   "general":{
      "project_id":200,
      "payment_id":"id_15514400636",
      "signature":"PJkV8ej\/UG0Di8hTng6JvC7vQsaC6tajQ...=="
   },
   "card":{
      "pan":"some_string",
      "year":2025,
      "month":12,
      "card_holder":"JOHN JOHNSON",
      "cvv":"some_string"
   },
   "customer":{
      "id":"123",
      "ip_address":"217.1.1.0"
   },
   "payment":{
      "amount":1000,
      "currency":"EUR"
   },
   "authentication_data":{
      "cavv":"kEMQyiH/ASySYhP1hAErbWFO+mih",
      "ds_operation_id":"f780a79f-a5e1-44d8-bfa3-5f89432fdb79",
      "eci":"06",
      "threeds_version":"3ds_2",
      "xid":"MDAwMDAwNzYxODEwMDAwMDE3MDE=",
      "authentication_status":"A",
      "authentication_flow":"Frictionless",
      "threeds_full_version":"2.3.1",
      "authentication_status_reason_code":"01"
   }
}

Related topics

The following topics can be useful when implementing payments through Gate: