Third Party 3DS Providers

How to use 3rd party 3DS Providers with the Vrio API

Below is a guide on how to pass parameters to the Vrio API if you are using a 3rd party 3DS provider ( such as PAAY ) to generate authentication data before you attempt payment.

📘

Vrio will pass all variables to the payment gateways that are posted over the API. If there are variables or scenarios where you do not want the data to be sent to the gateway, do not pass them to the Vrio API

Some 3rd Party providers will allow you to authenticate multiple cycles for a subscription, pass each cycle as an array. For example, if a cycle 1 and cycle 2 are authenticated, you would pass order_cardholder_auth = ["Y","Y"].

Gateways that Vrio currently support that allow 3DS variables to be passed are as follows

  • Checkout.com
  • Alto Global
  • Authorize.net
  • Axcess
  • Fluidpay
  • Inovio
  • Link4Pay
  • NMI
  • Paysafe
  • Processing.com
  • Rocketgate
  • Worldpay

order_cardholder_auth

Indicates whether a transaction qualifies as an authenticated transaction or account verification. Array of values (for each transaction cycle).

Example : guide on

order_eci

E-commerce indicator. Array of values (for each transaction cycle).

Below is a

order_cavv

Cardholder authentication verification value. Array of values (for each transaction cycle).

Example : guide on how to pass parameters to the Vrio API if you are using

order_xid

Cardholder authentication transaction id. Array of values (for each transaction cycle)

Version 1 3D SECURE ONLY

order_3ds_enrollment_status

Indicates whether a transaction qualifies as a being enrolled for 3DS authentication. Array of values (for each transaction cycle).

Example : guide on

order_3ds_version

Version of the 3D Secure that was used when the transaction was already authenticated using an external MPI. For example: 1.0.2 or 2.1.0. Array of values (for each transaction cycle).

Example : guide on how to

order_3ds_ds_transaction_id

Cardholder authentication transaction id. Array of values (for each transaction cycle).

Version 2+ 3D SECURE ONLY

Example : the Vrio API if you are using a 3rd party 3DS provider ( such as PAAY ) to g

order_3ds_bypass_reattempt

If this flag is passed, 3ds values will not be posted to the gateway for reattempts. Array of values (for each transaction cycle).

Example : guid

redirect_url

Redirect url used for 3ds three step process, PayPal, Klarna and Afterpay

Pass an array of values to use for each corresponding cycle.

These values are in Vrio API documentation under /orders.

❗️

Common ERROR:XID data must be 20 bytes REFID:1160745918

This happens either when a user tries with one card brand like visa, the trans declines, then they use another card brand like MasterCard but using the tokens obtained from the visa.
Or the wrong XID value is being passed.

Authenticated Status & ECI

Authenticated Status

Y Authenticated
A Attempted. Proof of (Liability is still shifted. Network stepped in for the authentication.)
C Requiring a Cardholder challenge to complete authentication
N Not authenticated
U Authentication could not be performed due to a technical or other problem
R Issuer is rejecting authentication and requesting that authorization not be attempted

ECI

01 Authenticated
02 Attempted (Liability is still shifted. Network stepped in for the authentication.)
00 Not Authenticate
05 Authenticated
06 Attempted (Liability is still shifted. Network stepped in for the authentication.)
07 Not Authenticate

Multiple 3DS Account Setup

If you have more than one account with paay.co, you can use the Vrio API simulates they payment router to determine which key the javascript should show.

Contact [email protected] for multiple 3DS accounts on a single merchant.