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.
SUSPENDED Suspended The capture of the transaction is temporarily blocked by the acquirer (AMEX GLOBAL or SECURE TRADING). Once the transaction has been correctly captured, its status changes to CAPTURED.
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 EUR 1 (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. vads_change_rate Exchange rate used for calculating the effective payment amount (see vads_effective_amount). vads_effective_amount Payment amount in the currency used for the capture in the bank. vads_effective_currency Currency used for the capture in the bank. - 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. COMMERCIAL_CARD Checks whether the buyer’s card is a commercial card. 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 Payment Guarantee. 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. Two scenarios are possible:
- For a payment processed with only one card. The fields to process are:
Field name Description vads_card_brand Brand of the card used for the payment, e.g.: CB, VISA, VISA_ELECTRON, MASTERCARD, MAESTRO, VPAY vads_brand_management Permits to know the brand used when paying, the list of available brands and also if the buyer has changed the default brand chosen by the merchant.
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). - For a split payment (i.e. a transaction using several payment methods), the following fields must be processed:The vads_payment_seq field (json format) describes the split payment sequence. It contains the following elements:
Field name Value Description vads_card_brand MULTI Several types of payment cards are used for the payment. vads_payment_seq In Json format, see details below. Details of performed transactions. - "trans_id": transaction identifier used for the entire payment sequence.
- "transaction": table of sequence transactions. It contains the following elements:
Field name Description amount Amount of the payment sequence.
operation_type Debit transaction.
auth_number Authorization number.
Will not be returned if not applicable to the used payment method.
Example: 949478
auth_result Return code of the authorization request. capture_delay Delay before the capture (in days). - For a payment by card, this parameter is the requested capture date (ISO 8601 format). If not sent in the payment form, the value defined in the Merchant Back Office will be used.
card_brand Used payment method.
For a payment by card (e.g. CB or Visa or MasterCard co-branded CB cards), this parameter is set to "CB".
See the Payment Gateway Implementation Guide available in our online documentation archive to see the complete list of card types.
card_number Payment method number.
expiry_month Expiry month of the payment method.
expiry_year Expiry year of the payment method.
payment_certificate Payment certificate. contract_used Contract used for the payment. identifier Unique identifier (token) associated with a payment method. identifier_status Only present if the requested action is a token creation or update. Possible values:Value Description CREATED The authorization request has been accepted.
The token has been successfully created.
NOT_CREATED The authorization request has been declined.
The token has not been created, and therefore cannot be viewed in the Merchant Back Office.
UPDATED The token has been successfully updated. NOT_UPDATED The token has not been updated. ABANDONED The action has been abandoned by the buyer (debtor).
The token has not been created, and therefore cannot be viewed in the Merchant Back Office.
presentation_date For a payments by card, this parameter is the requested capture date (ISO 8601 format).
trans_id Transaction number. ext_trans_id This field is not sent for credit card payments.
trans_uuid Unique reference generated by the payment gateway after the creation of a payment transaction. Guarantees that each transaction is unique.
extra_result Numeric code of the risk assessment result. Code Description Empty No verification completed. 00 All the verification processes have been successfully completed. 02 Credit card velocity exceeded. 03 The card is on the Merchant’s greylist. 04 The country of origin of the card is on the Merchant’s greylist. 05 The IP address is on the Merchant’s greylist. 06 The BIN code is on the Merchant’s greylist. 07 Detection of an e-carte bleue. 08 Detection of a national commercial card. 09 Detection of a foreign commercial card. 14 Detection of a card that requires systematic authorization. 20 Relevance verification: countries do not match (country IP address, card country, buyer's country). 30 The country of the this IP address is on the greylist. 99 Technical issue encountered by the server during a local verification process. sequence_number Sequence number. trans_status Status of the transaction. Canceled transactions are also displayed in the table. - 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.