Processing the response data
Here is an example of analysis to guide you through processing the response data.
- Identify the mode (TEST or PRODUCTION) in which the transaction was created 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.
- Analyze the operation type transmitted in the vads_operation_type field.
Value Description DEBIT Debit transaction. CREDIT Refund. VERIFICATION Payment method verification. - 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 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 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.
WAITING_AUTHORISATION Waiting for authorization The capture delay in the bank exceeds the authorization validity period.
An information request (or an authorization request for EUR 1 if the acquirer doesn't support information requests) has been accepted.
An authorization request for the total amount will be made one day before the capture date.
The transaction capture is automatic.
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 list of returned codes is available in the chapter Analyzing the result of the authorization request.
- 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 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 data used for payment.
Field name Description vads_acquirer_network Acquirer network. Populated with CB. 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_brand_management Indicates: - whether the buyer used a different brand than the default brand defined by the merchant
- the brand chosen by the buyer
- the list of available brands.
Example of a value:
vads_brand_management={"userChoice":true, "brand":"CB","brandList":"CB|VISA"}
vads_card_brand Brand of the card used for the payment. E.g.: CB, VISA, VISA_ELECTRON, MASTERCARD, MAESTRO, VPAY 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). vads_card_number Card number used for the payment. The number is masked.
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). - 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.