Using the form with redirect

Affected use cases

This chapter applies to the following use cases:
  • Immediate payment with card detail entry
  • Payment in installments
  • Card registration (with or without payment, with or without creating a recurring payment)
  • Payment by token

Payment process

The procedure below applies to CB, VISA, MASTERCARD and AMEX payments.

  1. The merchant website redirects the buyer to the payment gateway by transmitting the payment details (amount, currency, etc.).
  2. The payment gateway displays the card detail entry page.

    The buyer selects their payment method and enters the number and expiration date of their card.

    If the card has a security (CVV) code, it must be specified.

  3. The payment gateway proceeds to 3D Secure authentication.
  4. The payment gateway sends an authorization request to the acquirer (the merchant’s bank).
  5. The payment gateway notifies the merchant website about the payment result.
  6. In case of success, the payment gateway displays the summary page with the transaction details.

    If the payment is refused, the payment gateway invites the buyer to try to make another payment.

Creation of the payment form

No specific fields are necessary in order to benefit from 3DS protection for your payments.

Response analysis

The 3D Secure authentication result is transmitted in the end of payment notification (IPN) and when the buyer’s browser is redirected to the merchant website.

Here is a list of fields describing cardholder authentication according to the use case:

Use case Returned fields
Transaction with successful strong authentication.
  • vads_threeds_enrolled = Y: Cardholder enrolled
  • vads_threeds_status = Y (authentication success)
  • vads_threeds_auth_type = CHALLENGE (value returned in 3DS1 and 3DS2)
  • vads_threeds_eci = 5 (Visa or AMEX) or 02 (MasterCard)
  • vads_warranty_result = YES: The payment is guaranteed
Transaction with frictionless authentication successfully completed, the merchant has the “Frictionless 3DS2” option and has requested authentication without cardholder interaction.
  • vads_threeds_enrolled = Y: Cardholder enrolled
  • vads_threeds_status = Y: Successful authentication
  • vads_threeds_auth_type = FRICTIONLESS
  • vads_threeds_eci = 5 (Visa or AMEX) or 02 (MasterCard)
  • vads_warranty_result = NO: The payment is not guaranteed
Transaction with frictionless authentication successfully completed, the merchant has not requested authentication without cardholder interaction.
  • vads_threeds_enrolled = Y: Cardholder enrolled
  • vads_threeds_status = Y: Successful authentication
  • vads_threeds_auth_type = FRICTIONLESS
  • vads_threeds_eci = 5 (Visa or AMEX) or 02 (MasterCard)
  • vads_warranty_result = YES: The payment is guaranteed
Transaction with failed 3D Secure authentication.
  • vads_threeds_enrolled = Y: Cardholder enrolled
  • vads_threeds_status = N: Authentication error
  • vads_threeds_auth_type = empty: the buyer has not authenticated
  • vads_warranty_result = NO: The payment is not guaranteed
  • vads_threeds_eci = empty
  • vads_payment_error = 39: 3D Secure was declined for this transaction
Transaction with a technical error during the authentication.
  • vads_threeds_enrolled = Y or U: “Y” if the cardholder is enrolled, “U” if it is impossible to check the enrollment status
  • vads_threeds_status = U: Authentication impossible or empty
  • vads_threeds_auth_type = empty: the buyer has not authenticated
  • vads_threeds_eci = 7 (Visa or AMEX) or empty (MasterCard)
  • vads_warranty_result = UNKNOWN: Payment guarantee cannot be determined due to a technical error
  • vads_payment_error =
    • in 3DS2: 205, 206, 208 or 213: a technical error occurred during the process
    • in 3DS1: 105: Invalid signature of the authentication message
Payment session expiration.
  • vads_threeds_enrolled = Y: Cardholder enrolled
  • vads_threeds_status = N: Authentication error
  • vads_threeds_auth_type = empty: the buyer has not authenticated
  • vads_threeds_eci = empty
  • vads_warranty_result = empty: Payment guarantee non applicable
  • vads_payment_error = 149: Expired session. The buyer has been redirected to the ACS but has not completed 3DS authentication.
Card not enrolled.
  • vads_threeds_status = N: Cardholder not enrolled
  • vads_threeds_status = empty: No authentication
  • vads_threeds_auth_type = empty: No authentication
  • vads_threeds_eci = empty: No authentication
  • vads_warranty_result = NO: The payment is not guaranteed