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 vads_order_id if you have included it in
the payment form. Make sure that the order status has not been updated yet.
- Retrieve the payment result transmitted in the field vads_trans_status. Its value allows you to define the order status.
Value Description ABANDONED Abandoned Payment abandoned by the buyer
The transaction has not been created, and therefore cannot be viewed 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 been passed, the payment takes Expired status. This status is final.
CANCELLED Cancelled
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
The transaction is refused.
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 fieldvads_occurrence_typeto determine if it is a single payment or a payment that is part of a series (recurring payment or payment in installments).
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 field vads_payment_config to determine whether it is a payment in installments. For a payment in installments, identify the installment number by retrieving the value of the field vads_sequence_number.
Field name Value for an immediate payment Value for a payment in installments vads_payment_config SINGLE MULTI (the exact syntax isMULTI:first=X;count=Y;period=Z)
Warning: with the application os 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 fieldvads_trans_dateto identify the payment date.
- Retrieve the value of the field vads_capture_delay Delay (in days) before the payment is
captured. 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 know 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 field vads_threeds_enrolled to determine 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 field vads_threeds_status.
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 field vads_threeds_enrolled to determine the status of the card
enrollment.
- Retrieve the result of fraud checks by identifying the value of the field vads_risk_control. 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_acquirer_network Acquirer network code 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 Code of the issuing country (Alpha ISO 3166-2, 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.