Processing the response data
Here is an example of analysis to guide you through processing the response data.
- Identify the mode (TEST or PRODUCTION) that was used for creating the transaction by analyzing the value of the vads_ctx_mode field.
- Identify the order by retrieving the value of the vads_order_id field if you have transmitted it to the payment gateway. Make sure that the order status has not been updated yet.
- Retrieve the payment result transmitted in the vads_trans_status field. Its value allows you to define the order status.
Value Description ABANDONED Abandoned Payment abandoned by the buyer
The transaction was not created, and is therefore not visible in the Merchant Back Office.
ACCEPTED Accepted. Status of a VERIFICATION type transaction for which the authorization request or information request has been successfully completed.
This status cannot evolve.
Transactions with the “ACCEPTED” status will never be captured.
AUTHORISED Waiting for capture
The transaction has been accepted and will be automatically captured at the bank on the expected date.
AUTHORISED_TO_VALIDATE To be validated
The transaction, created with manual validation, is authorized. The Merchant must manually validate the transaction in order for it to be captured.
The transaction can be validated as long as the expiration date of the authorization request has not passed. If the authorization validity period has passed, the payment status changes to EXPIRED. The Expired status is final.
CANCELLED Canceled
The transaction has been canceled by the Merchant.
CAPTURED Captured
The transaction has been captured by the bank.
CAPTURE_FAILED Capture failed
Contact the technical support.
EXPIRED Expired
This status appears in the lifecycle of a payment with deferred capture.
The expiry date of the authorization request has passed and the Merchant has not validated the transaction. The account of the cardholder will therefore not be debited.
REFUSED Refused
Transaction is declined.
UNDER_VERIFICATION Control in progress
Waiting for the response from the acquirer.
This status is temporary.
A notification will be sent to the merchant website to inform the Merchant of the status change.
Requires the activation of the Instant Payment Notification URL on batch change notification rule.
WAITING_AUTHORISATION Waiting for authorization The capture delay in the bank exceeds the authorization validity period.
WAITING_AUTHORISATION_TO_VALIDATE To be validated and authorized
The capture delay in the bank exceeds the authorization validity period.
A 100 XPF (or information request about the CB network if the acquirer supports it) authorization has been accepted.The Merchant must manually validate the transaction for the authorization request and the capture to occur.
- Analyze the vads_occurrence_type field to determine if it is a single payment or a payment that is part of a series (subscription or installment payment).
Value Description UNITAIRE Single payment (immediate payment). RECURRENT_INITIAL First payment of a series RECURRENT_INTERMEDIAIRE Nth payment of a series RECURRENT_FINAL Last payment of a series - Analyze the vads_payment_config field to determine whether it is an installment payment. For a payment in installments, identify the installment number by retrieving the value of the vads_sequence_number field.
Field name Value for an immediate payment Value for a payment in installments vads_payment_config SINGLE MULTI (the exact syntax is MULTI:first=X;count=Y;period=Z)
Warning: with the application of Soft Decline, the vads_sequence_number field no longer allows to easily identify the first installment of a payment in installments. Since the sequence number of the first installment can be different from 1, the sequence number of the second installment will not necessarily be 2.
- Retrieve the value of the vads_trans_date field to identify the payment date.
- Retrieve the value of the vads_capture_delay field to identify the number of days before the capture in the bank. It will allow you to identify whether the payment is an immediate or a deferred payment.
- Retrieve the used amount and currency. To do this, retrieve the values of the following fields:
Field name Description vads_amount Payment amount in the smallest currency unit. vads_currency Code of the currency used for the payment. - Retrieve the value of the vads_auth_result field to identify the result of the authorization request. The complete list of returned codes can be viewed in the data dictionary.Here is a list of frequently returned codes that can help you understand the reason of the rejection:
Value Description 03 Invalid acceptor
This code is sent by the card issuer. It refers to a configuration problem on authorization servers (e.g. closed contract, incorrect MCC declared, etc.).
To find out the specific reason of the rejection, the buyer must contact his or her bank.05 Do not honor This code is sent by the card issuer. This code is used in the following cases:
- Invalid expiry date
- Invalid CVV
- Exceeded credit limit
- Insufficient funds (etc.)
51 Insufficient balance or exceeded credit limit This code is sent by the card issuer. This code appears if the funds on the buyer’s account are insufficient for making the purchase.
To find out the specific reason of the rejection, the buyer must contact his or her bank.56 Card absent from the file This code is sent by the card issuer.
The entered card number is incorrect or the card number + expiration date combination does not exist.57 Transaction not allowed for this cardholder This code is sent by the card issuer. This code is used in the following cases:
- The buyer attempts to make an online payment with a cash withdrawal card
To find out the specific reason of the rejection, the buyer must contact his or her bank.- The authorized payment limit is exceeded
59 Suspected fraud This code is sent by the card issuer. This code appears when an incorrect CVV code or expiration date has been entered several times.
To find out the specific reason of the rejection, the buyer must contact his or her bank.60 The acceptor of the card must contact the acquirer
This code is sent by the card issuer. It refers to a configuration problem on authorization servers. It is used when the merchant ID does not correspond to the used sales channel (e.g.: an e-commerce transaction with a distant sale contract with manual entry of contract data).
Contact the customer service to resolve the problem.81 Unsecured payment is not accepted by the issuer
This code is sent by the card issuer. After receiving this code, the payment gateway automatically makes a new payment attempt with 3D Secure authentication, when possible.
- Retrieve the cardholder authentication result. To do this:
- Retrieve the value of the vads_threeds_enrolled field to identify the status of the card enrollment.
Value Description Empty Incomplete 3DS authentication process (3DS disabled in the request, the merchant is not enrolled or the payment method is not eligible for 3DS). Y Authentication available, cardholder enrolled. N Cardholder not enrolled. U Impossible to identify the cardholder or authentication is not available for the card (e.g. commercial or prepaid cards). - Retrieve the result of cardholder authentication by retrieving the value of the vads_threeds_status field.
Value Description Empty Incomplete 3DS authentication (3DS disabled in the request, the cardholder is not enrolled or the payment method is not eligible for 3DS). Y Cardholder authentication success. N Cardholder authentication error. U Authentication impossible. A Authentication attempted but not completed.
- Retrieve the value of the vads_threeds_enrolled field to identify the status of the card enrollment.
- Retrieve the result of fraud checks by identifying the value of the vads_risk_control field. This field is sent only if the merchant has:
- subscribed to the "Risk management" service,
- enabled at least one verification process in the Merchant Back Office (Settings > Risk management menu).
It is populated with the list of values separated by ";" with the following syntax: vads_risk_control = control1=result1;control2=result2The possible values for control are:Value Description CARD_FRAUD Verifies whether the cardholder's card number is on the card greylist. SUSPECT_COUNTRY Checks whether the issuing country of the buyer’s card is on the list of forbidden countries. IP_FRAUD Verifies whether the cardholder's IP address is on the IP greylist. CREDIT_LIMIT Checks the purchase frequency and amounts for the same card number, or the maximum amount of an order. BIN_FRAUD Checks whether the BIN code of the card is on the BIN code greylist. ECB Checks whether the buyer’s card is of "e-carte bleue" type. SYSTEMATIC_AUTO Checks whether the buyer’s card is a MAESTRO or VISA ELECTRON card. INCONSISTENT_COUNTRIES Checks whether the country of the IP address, the country of the payment card and the buyer's country of residence match. NON_WARRANTY_PAYMENT Liability shift. SUSPECT_IP_COUNTRY Checks whether the buyer’s country, identified by their IP address, is on the list of forbidden countries. The possible values for result are:Value Description OK OK. WARNING Informational control failed. ERROR Blocking control failed. - Retrieve the card type used for the payment.
Field name Description vads_card_brand Brand of the card used for the payment, e.g.: CB, VISA, VISA_ELECTRON, MASTERCARD, MAESTRO, VPAY vads_card_number Card number used for the payment. vads_expiry_month Expiry month between 1 and 12 (e.g.: 3 for March, 10 for October). vads_expiry_year Expiry year in 4 digits (e.g.: 2023). vads_bank_code Code of the issuing bank. vads_bank_label Name of the issuing bank. vads_bank_product Product code of the card vads_card_country Country code of the country where the card was issued (alpha ISO 3166-2 code, e.g.: "FR" for France, "PF" for French Polynesia, "NC" for New Caledonia,"US" for the United States). - Store the value of the vads_trans_uuid field. It will allow you to assign unique identification to the transaction if you use the Web Service APIs.
- Retrieve all the order, buyer and shipping details. These details will be provided in the response only of they have been transmitted in the payment form.Their values are identical to the ones submitted in the form.
- Proceed to order update.