Payment Gateway Implementation Guide
Payment Gateway Implementation Guide
Implementation guide
7. SETTING UP NOTIFICATIONS..................................................................................................... 35
7.1. Notifications about the various statuses of an immediate payment..........................................................35
7.2. Notifications of the different statuses for a deferred payment................................................................. 36
7.3. Notifications about the various statuses of installments........................................................................... 37
7.4. Setting up notifications..............................................................................................................................38
Setting up the Instant Payment Notification........................................................................................ 38
Setting up notifications of the final result of a deferred payment....................................................... 40
Setting up notifications in case of abandoned or canceled payments.................................................. 41
Setting up a notification on batch change............................................................................................42
7.5. Activating the automatic retry...................................................................................................................43
7.6. Manual notification retry...........................................................................................................................45
7.7. Configuring e-mails sent to the buyer...................................................................................................... 46
7.8. Configuring e-mails sent to the merchant.................................................................................................47
3.15 Lyra Network 04/09/2017 Modification of the expiry of transactions: from now on, it depends on the
authorization validity period.
Data dictionary
• Update of the definition of "ans"
• Update of the vads_action_mode field: webview value suppressed
3.9 14/09/2016
• vads_payment_cards: addition of the MASTERPASS value
• vads_product_label: correction of the format.
This document and its contents are confidential. It is not legally binding. No part of this document may be reproduced and/
or forwarded in whole or in part to a third party without the prior written consent of Lyra Network. All rights reserved.
For technical inquiries or support, you can reach us from Monday to Friday, between 9am and 6pm
by phone at:
by e-mail: [email protected]
via your Merchant Back Office: menu Help > Contact support
To facilitate the processing of your demands, you will be asked to communicate your shop ID (an 8-digit
number) .
This information is available in the "registration of your shop" e-mail or in the Merchant Back Office
(Settings > Shop > Configuration).
A payment is considered as an installment payment if the buyer is debited with the amount for the
purchase in several installments
The first installment is similar to the immediate payment.
The next installment is similar to a deferred payment.
Only the first installment can be guaranteed to the merchant on the condition that the requested capture
date for the first installment is set before the authorization expiry date depending on the payment method.
(see Authorization validity period section below).
Note
Each time an authorization uses international networks, the merchant may have to pay extra fees that will
be transferred to the used network (depending on the commissioning methods of the merchant's acquirer
contract).
• No brands detected
The buyer possibly made an error when entering the card number.
vads_brand_management={"userChoice":true,
"brand":"CB","brandList":"CB|VISA"}
The online payment process appears differently when viewed from the point of view of the buyer or of
the merchant.
5.1. Defining the steps of the payment process - as seen by the buyer
The diagram below presents the exchange process from the point of view of the buyer.
7. During a payment by CB card co-branded VISA or MASTERCARD, the buyer chooses the logo of the
brand he or she wishes to use for the payment.
The payment gateway automatically detects the brand(s) associated with the number of the used
card.
If several brands are available, a drop-down list will appear to the right of the entry field. The logo
chosen by the merchant will appear first on the list.
If only one brand is available, the logo will appear automatically.
If you need help, you can click the ? icon to the right of the entry field.
8. He or she and confirms the entry by clicking Valid.
9. If the merchant and the buyer's card are subscribed to the 3D Secure authentication option, the
payment will be authenticated with 3D Secure.
10.An authorization request is sent to the buyer's bank, the issuer, in addition to internal fraud
verification on the payment gateway.
11.In case of success, a summary page is presented to the buyer resuming the transaction details.
The logo of the brand selected by the buyer will appear on the receipt.
A button allowing to return to the shop is presented.
In case of failure, a message is displayed. The buyer is informed of the rejection of the payment request.
A button allowing to cancel and return to the shop is presented.
If you have configured a number of additional attempts that is higher than 0 in your Merchant Back Office,
the buyer will be able to retry to finalize their payment. If he or she accepts, the payment process resumes
at the stage of payment method selection.
Once the additional attempts have been used, the payment is definitively rejected.
Once the payment request has been made, several verification processes start automatically:
• 3D Secure authentication.
• Various local verification processes made directly by the payment gateway (they potentially include
verification processes that concern subscription to the risk management option).
• An authorization request is also made by the buyer's bank on the day of payment independently of the
capture date at the desired bank
If one of the verification processes fails, the payment request will not be accepted. The buyer is
informed of the rejection on the screen. In the Merchant Back Office, the transaction appears with the
Refused status.
In case of a successful verification process, the transaction appears with the Waiting for capture status.
The buyer will see a notification message on the screen and by e-mail if the payment request has been
accepted. The transaction will be automatically sent for capture on the day requested by the buyer.
Before the capture date, the buyer can modify it together with the amount (only smaller amounts can
be entered in case of partial shipment by the merchant).
If necessary, the buyer can also cancel the transaction: the transaction will then appear with the
Canceled status.
The following installments go through the steps specified in the diagram below (in case of an authorization
request that will not be repeat):
By no means does canceling an installment imply that the installments to come will be canceled.
In the opposite case, the payment is accepted and the transaction appears in the Merchant Back Office
with the To be validated status.
In this case, the merchant must validate the transaction before the expiry date of the authorization request.
If the validation is made after this date, the transaction appears as Expired and cannot be captured in the
bank.
Validation of the first installment implies that all the installments will be validated as well. However,
canceling an installment does not cancel the installments to come.
The merchant website and the payment gateway interact by exchanging data.
To create a payment, this data is sent in an HTML form via the buyer's browser.
At the end of the payment, the result can be transmitted to the merchant website in two ways
• automatically by means of a notification called Instant Notification URL (also called IPN), see chapter
Setting up notifications.
• via the browser, when the buyer clicks on the button to return to the merchant website, see chapter
Managing the return to the merchant website.
To guarantee the security of the exchange, the data are signed with a key (formerly called "certificate")
only known to the merchant and the payment gateway.
To change the format of your test key, click the Regenerate a test certificate button and select the format
("ALPHANUMERIC" or "NUMERIC").
To change the format of your production key, click the Regenerate a production certificate button and
select the format ("ALPHANUMERIC" or "NUMERIC").
The merchant can configure the "default" return URLs in the Merchant Back Office via the menu Settings
> Shop > Configuration tab:
The merchant can set up a different return URL for each mode.
By default, the buyer is redirected to the URL regardless of the payment outcome.
If no URL has been set up, the main URL of the shop will be used for redirection (URL parameter defined
in the Details section of the shop).
The merchant will be able to override this setting in his/her payment form (see chapter Setting up return
URLs).
The payment gateway and the merchant website interact via HTML forms.
A form contains a list of specific fields (see chapter Generating a payment form) used to generate a chain.
This chain is then converted to a smaller chain through a hash function (SHA-1, HMAC-SHA-256).
The merchant will be able to choose the hash algorithm in the Merchant Back Office (see chapter Choosing
the hash algorithm).
The outcome chain is called the digest (empreinte in French) of the initial chain.
The digest must be transmitted in the signature field (see chapter Computing the signature
1. The merchant website build the form data and computes the signature.
2. The merchant website submits the form to the gateway.
3. The gateway receives the form data and computes the signature.
4. The gateway compares the computed signature with the signature that was transmitted by the
merchant website.
5. If the signatures are different, the payment request is rejected.
If they are not, the gateway proceeds to the payment.
6. The gateway build the result data and computes the response signature.
7. Depending on the shop configuration (see chapter Setting up notifications), the payment gateway
submits the payment result to the merchant website.
8. The merchant website receives the data and computes the signature. It compares the computed
signature with the signature that was transmitted by the payment gateway.
9. If the signatures are different, the merchant analyses the origin of the error (computation error,
attempted fraud, etc.).
Important
You can select a different signature algorithm for TEST mode and for PRODUCTION mode.
However, be sure to use the same method to generate your payment forms and to analyze the data
transmitted by the gateway during notifications.
In order to facilitate changing the algorithm, the SHA-1 or HMAC-SHA-256 signatures will be accepted
without generating rejections due to signature error for 24h.
It is strongly recommended to keep the key in a safe place (encrypted file, database etc.).
If you lose the key, you will be able to regenerate a new one via your Merchant Back Office.
Remember that the production key can be viewed in the Merchant Back Office by displaying the menu
Settings > Shop > Certificates tab.
The Merchant Back Office allows to manage the events that will generate a the notification transfer to the
merchant website and to configure the URL of the contact page.
The following diagrams illustrate the transaction status sent in the notification for each event.
The following caption is used for each event:
Action required from the merchant - manual (Merchant Back Office) or automatic (via Web Services)
5. Enter the URL of your page in the fields URL to call in TEST mode and URL to call in PRODUCTION
mode.
If the payment gateway is unable to access the URL of your page, an e-mail will be sent to the shop
administrator.
It contains:
• The HTTP code of the encountered error
• Parts of analysis depending on the error
• Its consequences
• Instructions to resend from the Merchant Back Office the notification to the URL already specified
above.
3. Enter the URL of your page in the fields URL to call in TEST mode and URL to call inPRODUCTION
mode.
8. Enable the rule by right-clicking on Instant Payment Notification URL on batch authorization and
select Enable the rule.
If the payment gateway is unable to access the URL of your page, an e-mail will be sent to the shop
administrator.
It contains:
• The HTTP code of the encountered error
• Parts of analysis depending on the error
• Its consequences
3. Enter the URL of your page in the fields URL to call in TEST mode and URL to call in PRODUCTION
mode.
If the payment gateway is unable to access the URL of your page, an e-mail will be sent to the shop
administrator.
It contains:
• The HTTP code of the encountered error
• Parts of analysis depending on the error
• Its consequences
• Instructions to resend from the Merchant Back Office the notification to the URL already specified
above.
3. Enter the URL of your page into URL to notify in TEST mode and URL to notify in PRODUCTION
mode.
8. Enable the rule by right-clicking on Instant Payment Notification URL on batch change and select
Enable the rule.
If the payment gateway is unable to access the URL of your page, an e-mail will be sent to the shop
administrator.
It contains:
• The HTTP code of the encountered error
• Parts of analysis depending on the error
• Its consequences
• Instructions to resend from the Merchant Back Office the notification to the URL already specified
above.
Note:
During the automatic retry, certain details are not stored in the database or are modified.
2. Right-click on the transaction and select Send the Instant Payment Notification.
If your application becomes available once again, you will see a message confirming that the URL has
been successfully executed
You can, in any case, view the result of your action in the event history of the transaction and possibly
analyze error messages if the problem persists.
When the retry is done manually from the Merchant Back Office, some information may be not stored in
the database or are changes.
3. Right click the label of an e-mail and select Enable the rule.
4. Right click the label of an e-mail with an enabled rule and select Manage the rule.
8. Click Save.
3. Right click the label of an e-mail and select Enable the rule.
4. Right click the label of an e-mail with an enabled rule and select Manage the rule.
8. Click Save.
It contains:
Form data:
• The shop ID.
• Information about the payment depending on the use case (see the chapters below).
• Additional information, depending on your requirements (see Using additional functionalities).
• Signature that certifies the integrity of the form (see Computing the signature).
For setting the name and value attributes, see chapter Data dictionary.
4. Set the vads_validation_mode field to 0 for automatic validation (the payment will be automatically
captured by the bank).
5. Fill in the vads_currency field with the code of the desired currency using the currency table (E.g.:
978 for euro (EUR)).
6. Add optional fields depending on your requirements (see chapter Using additional features).
7. Compute the value of the signature field using all the fields of your form that start with vads_ (see
chapter Computing the signature ).
4. Set the vads_validation_mode field to 0 for an automatic validation (the payment will be
automatically captured by the bank) or to 1 for a manual validation (the payment will be captured by
the bank after a manual validation in the Merchant Back Office).
5. Fill in the vads_currency field with the code of the desired currency using the currency table (E.g.:
978 for euro (EUR)
6. Add optional fields according to your requirements (see chapter Using additional features).
7. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
2. Set the value of the vads_payment_config field using the following syntax:
• Fixed payment amounts and dates :
MULTI:first=1000;count=3;period=30 where:
"first" is the amount (in the smallest currency unit) of the first installment processed on the day of
payment,
"count" is the total number of installments,
"period" defines the period (in days) between each installment.
• Customized payment amounts and dates :
3. Set the vads_capture_delay field to 0. The first payment will be captured by the bank on the same
day.
5. Fill in the vads_currency field with the code of the desired currency using the currency table (E.g.:
978 for euro (EUR)).
6. Add optional fields according to your requirements (see chapter Using additional features).
7. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature)
Example of a payment form for an installment payment (fixed amounts and payment dates):
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="3000" />
<input type="hidden" name="vads_ctx_mode" value="TEST" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="MULTI:first=1000;count=3;period=30"/>
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20140129180150" />
<input type="hidden" name="vads_trans_id" value="180150" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value= "zrhUNkAciZSEl6mS4BbhV3qkYUBB9RYJQCdg1kU0ELU="/>
<input type="submit" name="pay" value="Pay" />
</form>
Example of a payment form for an installment payment (customized amounts and payment dates):
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="3000" />
<input type="hidden" name="vads_capture_delay" value="0" />
<input type="hidden" name="vads_ctx_mode" value="TEST" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="
MULTI_EXT:20140201=1000;20140301=1000;20140401=1000" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20140129130025" />
<input type="hidden" name="vads_trans_id" value="130025" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="7Sds6Z+R1Q1axRsblpChyQh5OU3oCle5FOirD4V/Bzk="/>
<input type="submit" name="pay" value="Pay"/>
</form>
2. Set the value of the vads_amount field to a small amount. It will not affect the authorization limit of
the card.
4. Fill in the vads_currency field with the code of the desired currency using the currency table (E.g.:
978 for euro (EUR)).
5. Add optional fields according to your requirements (see chapter Using additional features).
6. Compute the value of the signature field using all the fields of your form that start with vads_ (see
chapter Computing the signature).
To obtain a custom form adapted to your needs, you can use additional optional features from the list
below:
• Configure the capture mode (validation mode)
• Transmit buyer details (title/civil status, e-mail address, etc.)
• Transmit shipping details (address, etc.)
• Transmit order details (reference, shopping cart contents, etc.)
• Enable or disabling 3D Secure
• Define the Merchant ID (MID) to use for the payment
• Override the instant payment notification (IPN)
• Manage the URLs to return to the merchant website
• Enable an automatic return to the merchant website at the end of payment
These features are described in the following chapters. These chapters will allow you to easily build your
payment form.
1. Use the fields required for your use case (see chapter Generating a payment form) to create your
payment form.
2. Use the optional fields presented in the table below to create a customized payment form.
If no URL is specified in the form, the value populated in the Merchant Back Office will be used.
Field name Description Format Value
vads_url_cancel URL to which the buyer will be redirected upon E.g.: http://demo.com/cancel.php
clicking on "Cancel and return to shop" before ans..1024
proceeding to payment
vads_url_error URL to which the buyer will be redirected in E.g.: http://demo.com/error.php
case of a processing error on the payment ans..1024
gateway
vads_url_refused URL to which the buyer will be redirected in E.g.: http://demo.com/refused.php
case of a declined payment after having clicked ans..1024
son "Return to shop"
vads_url_success URL to which the buyer will be redirected in E.g.: http://demo.com/success.php
case of an accepted payment after having ans..1024
clicked on "Return to shop"
3. Compute the value of the signature field using all the fields of your form starting withvads_ (see
chapter Computing the signature).
1. Use the fields required for your use case (see chapter Generating a payment form) to create your
payment form.
2. Use the optional field vads_url_return to set up an redirection URL at the end of payment.
If no URL is specified in the form, the value populated in the Merchant Back Office will be used.
3. Compute the value of the signature field using all the fields of your form starting withvads_ (see
chapter Computing the signature).
Example of a payment form with a unique return URL regardless of the payment result:
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="3000" />
<input type="hidden" name="vads_capture_delay" value="0" />
<input type="hidden" name="vads_ctx_mode" value="PRODUCTION" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20140526101407" />
<input type="hidden" name="vads_trans_id" value="239848" />
<input type="hidden" name="vads_url_return" value="http://demo.com/return.php" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="yXvSZnYvcMRORVGiapWaHT0euKDI0OGlrddYKc4XDZc="/>
<input type="submit" name="pay" value="Pay"/>
</form>
1. Use the fields required for your use case (see chapter Generating a payment form) to create your
payment form.
2. Use the optional field vads_return_mode to specify the method for submitting data to the merchant
website.
Value Description
Absent, empty or NONE No data is transmitted.
GET The information are transmitted in the URL of the return page.
POST The information is transmitted via an HTTP in POST.
The GET method allows to keep a notification message from appearing when the return is done from
an insecure environment (http).
3. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
Example of a payment form with definition of the mode for data transmission:
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="3000" />
<input type="hidden" name="vads_capture_delay" value="0" />
<input type="hidden" name="vads_ctx_mode" value="PRODUCTION" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_return_mode" value="GET" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20140526101407" />
<input type="hidden" name="vads_trans_id" value="239848" />
<input type="hidden" name="vads_url_return" value="http://demo.com/return.php" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="oTCT+7Oc+xttdGmcp9qa6/0pSSfNxoMtl8U1J1l+LtE="/>
<input type="submit" name="pay" value="Pay"/>
</form>
Note
If you choose a timeout to zero (= 0 delay) your redirection will be done as follows:
• For an accepted payment, the buyer will be redirected on vads_url_success
• For a canceled payment, the buyer will be redirected on vads_url_cancel if this parameter is defined,
• If the parameter is not filled in, the buyer will be redirected to the return URL entered in the
vads_url_return field or to the return URL entered in the Merchant Back Office.
• If the return URL is not set, it will be redirected to the merchant website.
• For a declined payment, the buyer will be redirected to vads_url_refused if the setting is set.
• If the parameter is not filled in, the buyer will be redirected to the return URL entered in the
vads_url_return field or to the return URL entered in the Merchant Back Office.
• If the return URL is not set, it will be redirected to the merchant website.
4. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
• Automatic: no action is necessary, the payments are captured by the bank once the capture delay is
elapsed.
• Manual: the merchant must validate each payment from the Merchant Back Office to enable the
capture before the desired capture date.
Each transaction that has not been validated by the expected date is considered as expired and will
never be captured by the bank.
By default, the Merchant Back Office is configured to capture all payments automatically.
2. Use the vads_validation_mode field to configure the capture mode (manual or automatic).
This field will be resent with the response and will include the value transmitted in the form.
Value Description
Absent or empty Takes the value specified in the Merchant Back Office.
0 Automatic capture.
1 Manual capture.
Table 10: Values associated with the vads_validation_mode field
3. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
Example of a payment form with a definition of the capture mode in INTERACTIVE mode:
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="4000" />
<input type="hidden" name="vads_capture_delay" value="0" />
<input type="hidden" name="vads_ctx_mode" value="TEST" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20140326164147" />
<input type="hidden" name="vads_trans_id" value="164147" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="vads_validation_mode" value="1" />
<input type="hidden" name="signature" value="cJFhNTLXQ4o6BgbW1pMMoM2yMilw90OIqmFjJ6DeUmA= />
<input type="submit" name="pay" value="Pay"/>
</form>
Note:
Required fields are different according to the capture mode (SILENT or INTERACTIVE).
When vads_action_mode field is set to SILENT, payment method details are mandatory.
All the data transmitted via the payment form can be viewed in the transaction details in the Merchant
Back Office (Buyer tab).
1. Use the fields required for your use case (see chapter Generating a payment form) to create your
payment form.
2. Use optional fields according to your requirements. These fields will be returned with the response
and will include the value transmitted in the form.
Field name Description Format Value
vads_cust_email Buyer's e-mail address ans..150 E.g.: [email protected]
vads_cust_id Buyer reference on the E.g.: C2383333540
an..63
merchant website
vads_cust_title Buyer's title an..63 E.g.: Mr.
vads_cust_status Status PRIVATE: for a private individual
enum
COMPANY: for a company
vads_cust_first_name First name ans..63 E.g.: Laurent
vads_cust_last_name Name ans..63 E.g.: Durant
vads_cust_legal_name Buyer's legal name an..100 E.g.: D. & Cie
vads_cust_cell_phone Cell phone number an..32 E.g.: 06 12 34 56 78
vads_cust_address_number Street number ans..64 E.g.: 109
vads_cust_address Postal address ans..255 E.g.: Rue de l'innovation
vads_cust_address2 Second line of the address ans..255 E.g.:
vads_cust_district District ans..127 E.g.: Downtown
vads_cust_zip Zip code an..64 E.g.: 31670
vads_cust_city City an..128 E.g.: Labège
vads_cust_state State / Region ans..127 E.g.: Occitanie
vads_cust_country Country code in compliance with E.g.: "FR" for France, "PF" for French
the ISO 3166 standard a2 Polynesia, "NC" for New Caledonia,
"US" for the United States
3. Compute the value of the signature field using all the fields of your form that start with vads_ (see
chapter Computing the signature).
3. Compute the value of the signature field using all the fields of your form that start with vads_ (see
chapter Computing the signature).
2. Use optional fields according to your requirements. These fields will be returned with the response
and will include the value transmitted in the form.
Field name Description Format Value
vads_order_id Order ID ans..64 E.g.: 2-XQ001
vads_order_info Additional order info an..255 E.g.: Door phone code 3125
vads_order_info2 Additional order info an..255 E.g.: No elevator
vads_order_info3 Additional order info an..255 E.g.: Express
vads_nb_products Number of items in the cart n..12 E.g.: 2
vads_product_ext_idN Product barcode in the E.g.:
merchant's website. N vads_product_ext_id0 =
corresponds to the index of the "0123654789123654789"
item (0 for the first one, 1 for an..100 vads_product_ext_id1 =
the second one, etc.). "0223654789123654789"
vads_product_ext_id2 =
"0323654789123654789"
vads_product_labelN Item name. N corresponds to E.g.:
the index of the item (0 for the vads_product_label0 = "tee-shirt"
first one, 1 for the second one, an..255
vads_product_label1 = "Biscuit"
etc.). vads_product_label2 = "sandwich"
vads_product_amountN Item amount. N corresponds to E.g.:
the index of the item (0 for the vads_product_amount0 = "1200"
first one, 1 for the second one, n..12
vads_product_amount1 = "800"
etc.). vads_product_amount2 = "950"
vads_product_typeN Item type. N corresponds to the E.g.:
index of the item (0 for the first vads_product_type0 =
one, 1 for the second one, etc.). "CLOTHING_AND_ACCESSORIES"
enum vads_product_type1 =
"FOOD_AND_GROCERY"
vads_product_type2 =
"FOOD_AND_GROCERY"
vads_product_refN Item reference. N corresponds E.g.:
to the index of the item (0 for vads_product_ref0 = "CAA-25-006"
the first one, 1 for the second an..64
vads_product_ref1 = "FAG-B5-112"
one, etc.). vads_product_ref2 = "FAG-S9-650"
vads_product_qtyN Quantity of items. N E.g.:
corresponds to the index of the vads_product_qty0 = "1"
item (0 for the first one, 1 for n..12
vads_product_qty1 = "2"
the second one, etc.). vads_product_qty2 = "2"
Table 12: Field list - Order details
6. Populate vads_product_labelN with the name of each item contained in the cart.
N corresponds to the index of the item (0 for the first one, 1 for the second one, etc.).
7. Populate vads_product_qtyN with the quantity of each item contained in the cart.
N corresponds to the index of the item (0 for the first one, 1 for the second one, etc.).
8. Populate vads_product_refN with the reference of each item contained in the cart.
N corresponds to the index of the item (0 for the first one, 1 for the second one, etc.).
9. Verify the value of the vads_amount field. It must correspond to the total amount of the order.
10.Compute the value of the signature field using all the fields of your form that start with vads_ (see
chapter Computing the signature).
1. Use the fields required for your use case (see chapter Generating a payment form) to create your
payment form.
3. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
This function is not compatible with the execution of the request sent to the IPN from the Merchant Back
Office. The called URL is the URL that has been set up in the notification rule (see chapter Setting up
notifications).
1. Use the fields required for your use case (see chapter Generating a payment form) to create your
payment form.
2. Use the vads_url_check field to override the URL of the page to notify.
If the value of the vads_url_check field is wrong, the form will be rejected.
3. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
1. Use the fields required for your use case (see chapter Generating a payment form) to create your
payment form.
3. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
Example:
You have:
• two CB MID: 1231230 and 1231231
• two AMEXGLOBAL MID: 949400444000 and 949400444001
To specify which MID to use for these two schemes, vads_contracts must be populated as follows:
vads_contracts=CB=1231231; AMEXGLOBAL=949400444000
To propose a payment only within the 1231231 MID and not within one of the AMEXGLOBAL MID, the
values of vads_contracts will be:
vads_contracts=CB=1231231; AMEXGLOBAL=NO
Example of a payment form defining the Merchant ID (MID) used for the payment:
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="4000" />
<input type="hidden" name="vads_capture_delay" value="0" />
<input type="hidden" name="vads_ctx_mode" value="TEST" />
<input type="hidden" name="vads_currency" value="" />
<input type="hidden" name="vads_contracts" value="CB=1231231;AMEXGLOBAL=949400444000 />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20140327145218" />
<input type="hidden" name="vads_trans_id" value="571381" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="7mjGsUAcl4Ox6p5WZ8RNN7ROsxlJ0py3SMtSzdfbHEM="/>
<input type="submit" name="pay" value="Pay"/>
</form>
This will result in a better user experience during redirection in order to proceed to payment.
Please see the Advanced customization - Back Office user manual for more details or contact sales
administration.
The payment form allows to dynamically override the template to be used thanks to the
vads_theme_config field.
For this, you must use the keyword: RESPONSIVE_MODEL and indicate the name of the template to be used
(Model_1, Model_2, ...).
Example of use:
See Advanced customization - Back Office user manual for more details on template creation.
See the vads_theme_config chapter for more details on using this field.
3. Compute the value of the signature field using all the fields of your form that start with vads_ (see
chapter Computing the signature).
2. Populate vads_language with one the values presented in the table below.
Language ISO 639-1 standard
German de
English en
Chinese zh
Spanish es
French fr
Italian it
Japanese ja
Dutch nl
Polish pl
Portuguese pt
Russian ru
Swedish sv
Turkish tr
• If the value of the vads_language field is wrong, the form will be rejected.
• If the field has not been sent or is empty, the payment page will be shown in the language of the
buyer's browser
• The buyer will be able to change the language anytime by clicking on the flags at the bottom of
the payment page.
3. Compute the value of the signature field using all the fields of your form starting with vads_(see
chapter Computing the signature).
If the value of the vads_available_languages field is wrong, the form will be rejected.
3. Compute the value of the signature field using all the fields of your form starting with vads_(see
chapter Computing the signature).
2. Use the vads_shop_name field to override the name of the shop that appears on the summary
payment page, the receipt and the confirmation e-mail.
3. Use the vads_shop_url field to modify the shop URL that appears on the payment pages.
This value will be used for the confirmation e-mail.
If the value of the vads_shop_url field is wrong, the form will not be rejected. However, its value will
be used for 3D Secure . The payment might be declined if the URL is invalid.
4. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
Example of a payment form including the modification of the shop name and URL:
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="3000" />
<input type="hidden" name="vads_capture_delay" value="0" />
<input type="hidden" name="vads_ctx_mode" value="PRODUCTION" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_shop_name" value="My Shop" />
<input type="hidden" name="vads_shop_url" value="http://www.myshop.com" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_trans_date" value="20140526101407" />
<input type="hidden" name="vads_trans_id" value="239848" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="gV0f2HZzQ9BxttHM2W5ZM+AKQsxu0HjDvKy0NAE/G24="/>
<input type="submit" name="pay" value="Pay"/>
</form>
2. Use the vads_theme_config field to modify the name of the "Return to shop" button.
3. Use the SUCCESS_FOOTER_MSG_RETURN keyword to modify the name of the "Return to shop"
button that appears if the payment has been accepted.
4. Use the CANCEL_FOOTER_MSG_RETURN keyword to modify the name of the "Cancel and return to
shop" button that appears on payment pages.
5. Compute the value of the signature field using all the fields of your form starting with vads_ (see
chapter Computing the signature).
By subscribing to the advanced customization option, you will be able to modify the names (e.g.: shop ID)
of the buttons on the payment page.
Please see the Advanced customization - Back Office user manual for more details or contact sales
administration.
Example of a payment form with modification of the name of the "Return to shop" button:
<form method="POST" action="https://secure.payzen.eu/vads-payment/">
<input type="hidden" name="vads_action_mode" value="INTERACTIVE" />
<input type="hidden" name="vads_amount" value="4000" />
<input type="hidden" name="vads_capture_delay" value="0" />
<input type="hidden" name="vads_ctx_mode" value="PRODUCTION" />
<input type="hidden" name="vads_currency" value="978" />
<input type="hidden" name="vads_order_id" value="CD100000858" />
<input type="hidden" name="vads_page_action" value="PAYMENT" />
<input type="hidden" name="vads_payment_config" value="SINGLE" />
<input type="hidden" name="vads_site_id" value="12345678" />
<input type="hidden" name="vads_theme_config"
value="CANCEL_FOOTER_MSG_RETURN=Annuler;SUCCESS_FOOTER_MSG_RETURN=Retour" />
<input type="hidden" name="vads_trans_date" value="20140331092024" />
<input type="hidden" name="vads_trans_id" value="408248" />
<input type="hidden" name="vads_version" value="V2" />
<input type="hidden" name="signature" value="ge5DHBbUGsq4cFfSIR1QyB/L/9qPNp2vhX9/G3kKJeQ="/>
<input type="submit" name="pay" value="Pay"/>
</form>
1. Create an HTML <iframe> tag on the page where you would like to display the fill out form (this page
should correspond to the "Payment" stage of your purchase journey):
...
<body>
<iframe id="idFrame" name="nameFrame" src="https://www.mystore.com/payment/form.php"
/>
</body>
</html>
In order to correctly display 3D Secure pages, we recommend a minimum size of 400px * 400px.
...
<form method="POST" action="" target="nameFrame" >
<input type="hidden" name="vads_action_mode" value="IFRAME" />
...
...
For maximum security, it is recommended to use HMAC-SHA-256 algorithm and an alphanumeric key.
3. Concatenate the values of these fields separating them with the "+" character.
4. Concatenate the result with the test or production key separating them with a "+".
3. The value of the test key is added at the end of the chain and separated with the "+" character. In this
example, the key of test is 1122334455667788
INTERACTIVE+5124+TEST+978+PAYMENT+SINGLE+12345678+20170129130025+123456+V2+1122334455667788
Definition of the utility class SHA that will include the elements required to process the SHA-1 algorithm
import java.security.MessageDigest;
import java.security.SecureRandom;
The buyer will be able to finalize his/her purchase once he/she is redirected to the payment page.
The buyer's browser must transmit the payment form data.
In TEST mode
The message indicates the source of the error and provides a link to the error code description to help
you fix it.
In PRODUCTION mode
The message simply indicates to the buyer that a technical problem has occurred.
A description of the error codes with their possible causes is available on our website
https://payzen.io/en-EN/error-code/error-00.html
Cookies are blocked by your browser. Make sure you The buyer has disabled cookies in his or her browser. Cookies
authorize them before retrying the operation. are necessary for the payment to be processed correctly.
After each payment (accepted or rejected) the gateway sends to the merchant site a notification containing
the payment result.
This notification is also called IPN.
To process the payment result, the merchant website must have a separate page that analyzes the data
transmitted in POST mode (URL e.g.: https://site-marchand.com/analyse_paiement.php)
Depending on the result, this page must trigger different actions (changing the order status, updating
stocks, etc.)
Prerequisites:
• URL of the page that analyzes the payment result must be specified in the Merchant Back Office (see
chapter Setting up notifications).
• The merchant has to make sure that this URL is available via the payment gateway without redirection.
Using redirection leads to losing data presented in POST.
• In case some restrictions are set up by the merchant website, the IP address range to be authorized
is: 194.50.38.0/24.
Notifications are sent from an IP address in the 194.50.38.0/24 range in Test and Production mode.
• HTML must not be visible on the page.
Access to images or CSS slows down the exchange between the payment gateway and the merchant
website.
• Avoid integrating time-consuming tasks, such as invoice generation or sending e-mails in the script.
The processing time has a direct influence on how long it takes to display the summary page to the
buyer. The longer the processing of the notification, the greater the delay for displaying the page.
After 35 seconds, the payment gateway considers that the call has failed (timeout).
In order to help the merchant identifying the origin of the error, the gateway systematically analyzes the
first 512 characters returned by the merchant site.
These characters can be viewed in the transaction details, Event log tab:
The script may check the order status (or any information of your choice) to see if it has not been already
updated.
Once these steps are completed, the script can update the database (new order status, stock update,
registration of payment information, etc.).
The data is always sent by the payment gateway using the POST method.
The first step consists in retrieving the contents received via the POST method.
Examples:
• In PHP, data is stored in the super global variable $_POST,
• In ASP.NET (C#), you must use the Form property of the HttpRequest class.
• In Java, you must use the getParameter method of the HttpServletRequest interface.
The script will have to create a loop to retrieve all the transmitted fields.
Example of data sent during payment notification :
vads_amount = 3000
vads_auth_mode = FULL
vads_auth_number = 3fb0de
vads_auth_result = 00
vads_capture_delay = 0
vads_card_brand = VISA
vads_card_number = 497010XXXXXX0000
vads_payment_certificate = a50d15063b5ec6cb140043138b8d7576470b71a9
vads_ctx_mode = TEST
vads_currency = 978
vads_effective_amount = 3000
vads_site_id = 12345678
vads_trans_date = 20140902094139
vads_trans_id = 454058
vads_validation_mode = 0
vads_version = V2
vads_warranty_result = YES
vads_payment_src = EC
vads_sequence_number = 1
vads_contract_used = 5785350
vads_trans_status = AUTHORISED
vads_expiry_month = 6
vads_expiry_year = 2015
vads_bank_code = 17807
vads_bank_product = A
vads_pays_ip = FR
vads_presentation_date = 20140902094202
vads_effective_creation_date = 20140902094202
vads_operation_type = DEBIT
vads_threeds_enrolled = Y
vads_threeds_cavv = Q2F2dkNhdnZDYXZ2Q2F2dkNhdnY=
vads_threeds_eci = 05
vads_threeds_xid = WXJsVXpHVjFoMktzNmw5dTd1ekQ=
vads_threeds_cavvAlgorithm = 2
vads_threeds_status = Y
vads_threeds_sign_valid = 1
vads_threeds_error_code =
vads_threeds_exit_status = 10
vads_trans_uuid= 1cd9994823334e31bbb579b4d716832d
vads_risk_control = CARD_FRAUD=OK;COMMERCIAL_CARD=OK
vads_result = 00
vads_extra_result = 00
vads_card_country = FR
vads_language = fr
vads_hash = 299d81f4b175bfb7583d904cd19ef5e38b2b79b2373d9b2b4aab74e5753b10bc
vads_url_check_src = PAY
vads_action_mode = INTERACTIVE
vads_payment_config = SINGLE
vads_page_action = PAYMENT
signature = FxGvazgW0dgqOrVrx6bqKZSXh2y5Dp3bWC9HFn33t+Q=
3. Concatenate the values of these fields separating them with the "+" character.
4. Concatenate the result with the test or production key separating them with a "+".
BO Execution of the notification via the Merchant Back Office (right-click a transaction > Execute the IPN
URL).
BATCH The BATCH value will be sent in case of an update of a transaction status after its synchronization on
the acquirer side.
This is the case of payments with redirection to the acquirer, such as FacilyPay, PayPal, etc.
Only if the merchant has configured the rule for Instant Payment Notification URL on BATCH
change.
BATCH_AUTO The BATCH_AUTO value will be sent in the following cases:
• payment deferred for more than 7 days
• installments of a recurring payment (except the first one),
only if the merchant has configured the rule for Instant Payment Notification URL on batch
authorization.
The notification will be sent with the authorization request for payments with "Waiting for
authorization" status.
REC The REC value is sent only for recurring payments if the merchant has configured the rule for Instant
Payment Notification URL when creating recurring payments.
MERCH_BO The MERCH_BO value will be sent in the following cases:
• during operation made from the Merchant Back Office (refund, modification, validation,
duplication), only if the merchant has configured the following notification rule: Instant
Payment Notification URL on an operation coming from the Back Office
After checking its value, the script will be able to process differently depending on the nature of the
notification.
For example:
If vads_url_check_src is set to PAY or BATCH_AUTO, the script will update the order status, etc.s
If vads_url_check_src is set to REC the script will retrieve the recurring payment reference and will
increment the number of the expired installment payments in case the payment has been accepted, etc.
For example:
If vads_operation_type is set to DEBIT, the script updates the order and registers the transaction details.
If vads_operation_type is set to CREDIT, the script updates the paid amount or adds a new transaction
line in the order.
2. 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 already been updated.
For an installment payment, identify the installment number by retrieving the value of the
vads_sequence_number field.
Value Description
1 First installment
2 Second installment
3 Third installment
n Installment number
Table 18: vads_sequence_number analysis
6. Analyze the vads_sequence_number field to know the number of payment attempts made.
vads_payment_config = SINGLE:
vads_url_check_src vads_sequence_number Description
1 Payment made in 1 attempt
PAY 2 Payment made in 2 attempts
3 Payment made in 3 attempts
1 Deferred Payment made in 1 attempt
BATCH_AUTO 2 Deferred Payment made in 2 attempts
3 Deferred Payment made in 3 attempts
Note
Installment payments is not compatible with the functionality of additional attempts in case of rejected
payment.
9. Retrieve the value of the vads_capture_delay field to identify the number of days before the
payment is captured by the acquirer.
It will allow you to identify whether it is an immediate or a deferred payment.
10.Retrieve the payment 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 to calculate the effective payment amount (seevads_effective_amount).
vads_effective_amount Payment amount in the currency used for the capture.
vads_effective_currency Code of the currency used for the capture.
Table 20: Analysis of the payment amount and currency.
11.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 to help you understand the reason of the rejection:
Value Description
03 Invalid acceptor
This code is sent by the card issuer. Refers to a problem with settings on authorization servers. (E.g. closed
contract, incorrect MCC declared, etc.).
To find out the specific reason for 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 expiration date
• Invalid CVV
• Exceeded credit limit
• Insufficient balance (etc.)
To find out the specific reason for the rejection, the buyer must contact his or her bank.
51 Insufficient balance or exceeded credit limit
This code is sent by the card issuer. This code appears if the balance on the buyer's account is insufficient to
make the purchase.
To find out the specific reason for 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 combination of the card number + expiration date 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,
• The authorized payment limit is exceeded.
To find out the specific reason for the rejection, the buyer must contact his or her bank.
59 Suspected fraud
b. Retrieve the result of 3D Secure authentication by retrieving the value of the vads_threeds_status
field.
Value Description
Empty The 3DS authentication is not accomplished (3DS disabled in the request, the cardholder is not enrolled or
3DS is not available for the payment method).
Y Cardholder successfully authenticated.
N Cardholder authentication error.
U Authentication impossible.
A Authentication attempted but not accomplished.
Table 23: Values of the vads_threeds_status field
13.Retrieve the result of the fraud verification 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 a ";" with the following syntax: vads_risk_control =
control1=result1;control2=result2
the possible values for control are:
Value Description
CARD_FRAUD Verifies whether the cardholder's card number is in the card greylist.
SUSPECT_COUNTRY Verifies whether the cardholder's card number is in the list of forbidden countries.
IP_FRAUD Verifies whether the cardholder's IP address is in the IP greylist.
CREDIT_LIMIT Verifies the purchase frequency and amounts for the same card number, or the
maximum amount of an order.
BIN_FRAUD Verifies whether the BIN code of the card is in the greylist for BIN codes.
ECB Verifies whether the buyer's card is an "e-carte bleue".
COMMERCIAL_CARD Verifies whether the buyer's card is a corporate credit card.
SYSTEMATIC_AUTO Verifies whether the buyer's card is a MAESTRO or VISA ELECTRON credit card.
• For a split payment (that is to say a transaction using several payment methods), the fields to
process are:
Field name Value Description
vads_card_brand MULTI Several types of payment card are used for the payment.
vads_payment_ Json format, see details below. Details of performed transactions.
seq
The vads_payment_seq field (json format) describes the split payment sequence. It contains:
1. "trans_id" : global transaction identifier to the payment sequence.
2. "transaction" : transaction table of the sequence. It contains the following elements:
Field name Description
amount Amount of the payment sequence.
operation_type Debit transaction.
auth_number Authorization number. 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.
Value Description
CREATED The authorization request has been accepted.
Token (or UMR for SEPA payment) has been successfully created.
NOT_CREATED The authorization request has been declined.
The token (or UMR for SEPA payment) has not been created, and
therefore cannot be viewed in the Merchant Back Office.
UPDATED Token (or UMR for SEPA payment) has been successfully updated.
NOT_UPDATED The token (or UMR for SEPA payment) has not been updated.
ABANDONED The action has been abandoned by the buyer (debtor).
The token (or UMR for SEPA payment) 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 payments by credit cards.
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 controls 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 in 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 IP address is on the greylist.
99 Technical issue encountered by the server during a local verification process.
15.Save the value of the vads_trans_uuid field. It will allow you to identify uniquely the transaction if
you use the Web Services APIs.
A description of the error codes with their possible causes is available on our website
https://payzen.io/en-EN/error-code/server-url-error.html
Frequent error:
An .htaccess file might block the call to the IPN.
.htaccess files are Apache web server configuration files. They can be stored in any folder of the merchant
website (the configuration applies to the folder and all the contained folders with no .htaccess files).
By default, when the buyer returns to the merchant website, no parameter will be transmitted by the
buyer's browser.
However, if the vads_return_mode field has been transmitted in the payment form (see chapter Managing
the return to the merchant website) it will be possible to retrieve the data:
• either in GET mode: the data is presented in the URL as follows : ?field1=value1&field2=value2
• or in POST: the data is sent in a POST form.
The data transmitted to the browser is the same as during notifications (IPN).
The vads_url_check_src and vads_hash fields will be sent only in the instant notification.
Note : the return to the shop will allow you to show only the visual context to the buyer. Do not use the
received data for its processing in the database.
Before proceeding to production mode, it is necessary to run tests to make sure that there are no
interaction problems between the merchant website and the payment gateway.
The test payment requests must:
• contain the vads_ctx_mode field set to TEST.
• use the test key for signature computation.
Different cases of payments can be simulated by using test card numbers specified on the payment page.
The merchant will be able to test all 3D Secure authentication results (if the merchant is enrolled and 3DS
is not disabled).
The list of the tests to perform to generate the production key is provided in the Merchant Back Office,
via the menu Settings > Shop > Certificates.
Each row of the list contains card numbers associated with the same scenario (i.e. 2 accepted payments
and 2 refused payments).
Each column corresponds to a different card type: CB/VISA, MASTERCARD, MAESTRO, VISA ELECTRON).
2. Once redirected to the payment page, select the card type of your choice.
4. Once a test has been validated, its status is updated in the list. Click on Refresh the table button if
the status has not been updated automatically.
5. Once the 4 tests have been validated, the Generate the production certificate button becomes
available.
First of all, check the status of the IPN URL in the Merchant Back Office.
To do this:
1. Select a transaction with a right-click.
2. Select Display transaction details.
3. Check the status of the IPN.
• In case the status is Sent, it means that you have correctly specified the URL in the Merchant Back
Office.
• In case the status is Undefined URL, it means that you have not specified the URL in the Merchant
Back Office.
1. Check the address of the IPN URL entered in TEST and PRODUCTION mode.
2. Click Settings > Notification rules.
3. Enter the IPN URL (Instant Payment Notification URL at the end of payment).
Do not enter an address in "localhost". The call to this URL is made from one server to another.
4. Click Save.
• In case the status is Failed, see chapter Processing errors.
2. Click on Regenerate.
The data dictionary lists all the fields that can be used in a payment form.
First, is presents the main categories (such as technical information, order details, etc.). All the fields that
belong to a category are presented.
These tables are presented as follows:
• Field name: indicates the name of the parameter as it appears in the HTTP request.
• Format: data format
• Description: description of the field
• Input: a field to be transmitted in the request
• Output: a field transmitted in the response
Then, the data dictionary presents the details for each field. Each field is presented as follows:
• Description: description of the field
• Format: data format (see the table List of fields and formats below)
• Possible values: expected values when the field must be populated with specific values
• Example: example of correct data encoding
• Error code: in case there is a error between the merchant website and the payment platform, the
payment platform indicates the incorrect parameter in the vads_extra_result field using a numeric code
• Note: additional information, elaboration
• Category: category to which the field belongs
Example: Error 09 corresponds to a payment amount error. The submitted amount does not respect the
required format
Technical details
Field name Format Description Input Output
Signature guaranteeing the requests
signature an40 integrity exchanged between the merchant x x
website and the payment gateway.
vads_action_mode enum Card data acquisition mode x x
Payment process to apply. Overrides the
vads_override_payment_cinematic enum x
recorded value on the MID
Name of the e-commerce solution used
vads_contrib ans..128 on the merchant web site and its version x x
number.
Defines the mode of interaction with the
vads_ctx_mode enum x x
payment gateway.
Optional code of the response. Its
vads_extra_result n2 meaning depends on the value entered in x
vads_result.
A unique key returned only to the Instant
vads_hash an64 x
Payment Notification (IPN).
vads_page_action enum Defines the action to be performed. x x
vads_payment_error n..3 Error code for declined payments x
vads_result n2 General return code of the payment result. x
vads_site_id n8 Shop ID x x
URL of the page to notify at the end of
vads_url_check ans..1024 payment. Overrides the value entered in x
the notification rules settings.
This parameter defines the source of the
vads_url_check_src enum call to the notification URL (also called IPN x
URL).
Version of the exchange protocol with the
vads_version enum x x
payment gateway
Table 28: Parameter list - Technical details
Input and output field, returned in the response (IPN and Return URL).
Format an40
Error code 00 - signature Appears if the value of this field is incorrect,
70-empty params if the field is absent or empty.
Frequent errors:
• The fields of the form have not been encoded in UTF-8.
• The MODE (TEST or PRODUCTION) or the key used is incorrect.
• Line break or carriage return posted in the form.Warning :
• Quotation marks ["] posted in the form.
• The type of computation algorithm used is not the correct one.
• The transmitted signature does not respect the rule of signature computation
vads_acquirer_transient_data
Input field.
Format json
Possible values Pour une transaction par titre-restaurant Conecs, le format JSON attendu est le
suivant :vads_acquirer_transient_data ={"CONECS":{"eligibleAmount":"1725"}}
Input and output field, returned in the response (IPN and Return URL).
Format enum
Error code 47
Possible values INTERACTIVE: entry of the card details on the payment page of the payment gateway.
SILENT: entry of the card details on the merchant website (subject to the commercial
option provided by your bank).
IFRAME: entry of the card details on a simplified and streamlined payment page that
the merchant can embed into the web page of their choice.
Category Technical details
vads_amount
Description Transaction amount expressed in the smallest currency unit (cents for euro).
Example: for a transaction of 10 EURand 28 cents, the value of the parameter is 1028.
The payment form will be rejected in the following cases:
• an amount equal to zero [vads_amount=0],
• a negative amount [vads_amount=-100],
• an amount with decimals or points |vads_amount=100.50],
• a form without the vads_amount field (amount absent).
A message notifying of a technical error will be associated with a 09 return code
(vads_extra_result).
Input and output field, returned in the response (IPN and Return URL).
Format n..12
Error code 09
Category Transaction details.
vads_auth_mode
Format enum
vads_auth_number
Format an..6
Category Transaction details
Description Return code of the authorization request returned by the issuing bank, if available.
Format n..3
Possible values
Grounds of Grounds of
Value Description Value Description
fraud fraud
00 Approved or successfully processed 38 Expired card
transaction
02 Contact the card issuer 41 Lost card YES
03 Invalid acceptor YES 43 Stolen card YES
04 Keep the card YES 51 Insufficient balance or exceeded
credit limit
05 Do not honor YES 54 Expired card YES
07 Keep the card, special conditions YES 55 Incorrect secret code
08 Confirm after identification 56 Card absent from the file YES
12 Invalid transaction YES 57 Transaction not allowed for this YES
cardholder
13 Invalid amount YES 58 Transaction not allowed for this
cardholder
14 Invalid cardholder number YES 59 Suspected fraud YES
15 Unknown issuer YES 60 The acceptor of the card must
contact the acquirer
17 Canceled by the buyer 61 Withdrawal limit exceeded
19 Retry later 63 Security rules unfulfilled YES
20 Incorrect response (error on the 68 Response not received or received
domain server) too late
24 Unsupported file update 75 Number of attempts for entering the
secret code has been exceeded
25 Unable to locate the registered 76 The cardholder is already blocked, YES
elements in the file the previous record has been saved
26 Duplicate registration, the previous 90 Temporary shutdown
record has been replaced
27 File update edit error 91 Unable to reach the card issuer
28 Denied access to file 94 Duplicate transaction
29 Unable to update 96 System malfunction
30 Format error 97 Overall monitoring timeout.
31 Unknown acquirer company ID YES 98 Server not available, new network
route requested
33 Expired card YES 99 Initiator domain incident
34 Suspected fraud YES
Table 39: Return codes specific to the CB network
Code Description
000 Approved
001 Approved with an ID
002 Partial approval (Prepaid Cards only)
100 Rejected
101 Expired card / Invalid expiry date
106 Exceeded PIN entry attempts
107 Please Call Issuer
109 Invalid merchant
110 Invalid amount
111 Invalid account / Invalid MICR (Travelers Cheque)
115 Requested function not supported
117 Invalid PIN
119 Cardholder not enrolled / not allowed
122 Invalid card security code (a.k.a., CID, 4DBC, 4CSC)
125 Invalid effective date
181 Format error
183 Invalid currency code
187 Deny — New card issued
189 Deny - Account canceled
200 Deny — Pick up card
Code Description
0 Approved or successfully processed transaction
2 Limit exceeded
4 Keep the card
5 Do not honor
96 System malfunction
97 Overall monitoring timeout.
Table 42: Codes returned by Amex acquirer
Other return codes For payment methods that are different from the ones presented below:
• see the technical documentation specific to the payment method
or
• contact the technical support for more information.
Format enum
Category Order details.
Description Allows to specify the list of languages available on the payment page.
The elements of the list must be separated by a semi-colon ( ; )..
The languages on the payment page are represented by flags.
Input and output field, returned in the response (IPN and Return URL).
Format language1;language2;language3
Error code 71
E.g.: to show the flags for French and English, post vads_available_languages=fr;en
Category Customization of the payment page.
vads_avs_result
Description Transmits the result of the address verification performed by the buyer.
This verification only applies to the numeric part of the billing address.
The Address Verification Service is supported in the USA, Canada and United
Kingdom.
vads_bank_product
Format an..3
Possible values
VISA Designation
A Visa Traditional
B Visa Traditional Rewards
C Visa Signature
D Visa Signature Preferred
E Proprietary ATM
F Visa Classic
G Visa Business
G1 Visa Signature Business
G2 Reserved
G3 Visa Business Enhanced
H Reserved
I Visa Infinite
J Reserved
J1 Reserved
J2 Reserved
J3 Visa Healthcare
J4 Reserved
K Visa Corporate T&E
K1 Visa GSA Corporate T&E
L Electron
N Visa Platinium
N1 TBA
P Visa Gold
Q Private Label
Q1 Reserved
R Proprietary
S Visa Purchasing
S1 Visa Purchasing
S2 Visa Purchasing
S3 Visa Purchasing
S4 Government Services Loan
S5 Commercial Transport EBT
S6 Business Loan
S7 Visa Distribution
T Reserved
CB Designation
1 National cash withdrawal card
2 National cash withdrawal and payment card
3 National payment card
4 National payment and cash withdrawal card requiring systematic authorization
5 National payment card requiring systematic authorization
vads_birth_day
Input field.
Format n..2
Error code 76
Category Payment method details.
vads_birth_month
Input field.
Format n..2
Error code 76
Category Payment method details.
vads_birth_year
Input field.
Format n4
Error code 76
Category Payment method details.
vads_brand_management
Format json
Possible values Example:
vads_brand_management={"userChoice":true,"brand":"CB","brandList":"CB|VISA"}
vads_capture_delay
Input field.
Format n..3
Error code 06
Category Transaction details.
vads_card_brand
Format an..127
Possible values See the vads_payment_cards field.
The value CB will be returned for co-branded Visa and MasterCard CB cards.
vads_card_country
Description Country code of the card in compliance with the ISO 3166 standard
Input field.
Format ans..255
Error code 45
Category Payment method details.
vads_card_number
Input and output field, returned in the response (IPN and Return URL).
Format an..36
Error code 40
Category Payment method details.
vads_change_rate
Description Exchange rate used to calculate the effective payment amount (multi-currency
payment).
Format string
Category Transaction details
Input field.
Format map
Error code 62
Possible values To exclude a network you must use the syntax Network_name=NO
Example: NETWORK1=contract1;NETWORK2=contract2;NETWORK3=NO
The possible networks are:
Network code Description
ACCORD Oney network (private and gift cards)
ACCORD_SANDBOX Oney network (private and gift cards) - sandbox mode
AMEX American Express network
AMEXGLOBAL American Express network
ANCV ANCV (e-chèques vacances) network
AURORE Cetelem Aurore network (Brand cards and universal Aurore card)
CARDCOMPLETE CARDCOMPLETE network
CB CB Network
CERIDIAN Ceridian network (gift card)
COFINOGA Cofinoga network (Be Smart and brand cards)
CONECS Titre-Restaurant Conecs network
EDENRED Edenred network (Tickets Restaurant, Tickets EcoChèque, Tickets
Compliments)
EPS EPS network
EVO EVO network
FULLCB FULL CB Network (Payment in 3 or 4 times without fees by BNPP PF)
GATECONEX GATECONEX Network
GICC GICC network
GICC_DINERS GICC network (Diners Club cards)
GICC_MAESTRO GICC network (Maestro cards)
GICC_MASTERCARD GICC network (Mastercard cards)
GICC_VISA GICC network (Visa cards)
GIROPAY GIROPAY network
GOOGLEPAY Google Pay network
HOBEX_DD Hobex Direct Debit network
IDEAL IDEAL network
JCB JCB Network
KLARNA Klarna Internet Banking network
MASTERPASS MasterPass network
ONEY Oney Network (Payment in 3 or 4 installments by FacilyPay)
vads_contracts="CB=1231231;AMEXGLOBAL=949400444"
vads_contracts="CB=1231231;AMEXGLOBAL=NO"
vads_contract_used
Description This field defines the value of the Merchant ID (MID) associated with the
transaction. It is populated with the Merchant ID (MID) registered by default in your
shop or it takes the value of the vads_contracts field sent in the payment request.
Format ans..250
Category Transaction details
vads_contrib
Description Optional information that indicates the name of the CMS used for the payment
(Joomla, osCommerce, etc.). If you are developing our own software, this field can
include the number of platform internal developer version
Input and output field, returned in the response (IPN and Return URL).
Format ans..128
Error code 31
Category Technical details
The input and output field, returned in the response (IPN and Return URL).
Format enum
Error code 11
Frequent errors:
• The mode has not been submitted to the payment platform.
• Do not code PROD instead of PRODUCTION
• Do not code the value in lowercase letters (test or production). This field expects
values only in uppercase letters without abbreviations.
Description Numeric currency code to be used for the payment, in compliance with the ISO
4217 standard.
To use a currency other than euro (978), you must request the activation of the
"currency conversion" option.
Note: All of the listed currencies are available, however, they are not presented at
the moment of Merchant ID (MID) creation. If the desired currency is not suggested
at the moment of creation of your MID, please contact sales administration.
To use a currency during a payment, you must have a MID created in this currency.
The acquirer provides the MID to the merchant with the supported currency(ies)
and the gateway takes this information into account when creating a MID.
Input and output field, returned in the response (IPN and Return URL).
Format n3
Error code 10
vads_cust_address
Input and output field, returned in the response (IPN and Return URL).
Format ans..255
Note:> and < are not authorized.
Error code 19
Note Mandatory parameter for 3xCB Cofinoga.
Category Buyer details.
vads_cust_address2
Input and output field, returned in the response (IPN and Return URL).
Format ans..255
Error code 19
Category Buyer details.
vads_cust_address_number
Input and output field, returned in the response (IPN and Return URL).
Format ans..64
Error code 112
Category Buyer details.
vads_cust_cell_phone
Format an..32
Error code 77
Category Buyer details.
vads_cust_city
Input and output field, returned in the response (IPN and Return URL).
Format an..128
Error code 21
Note Mandatory parameter for 3xCB Cofinoga.
Category Buyer details.
vads_cust_country
Description Allows you to specify the buyer's country code in the ISO 3166 format.
Input and output field, returned in the response (IPN and Return URL).
Format a2
Error code 22
Examples of Code Country Code Country
possible values AT Austria IN India
BR Brazil MQ Martinique
CI Ivory Coast NC New Caledonia
FR Corsica PF French Polynesia
FR France PM St. Pierre and Miquelon
GP Guadeloupe US United States of America
Input and output field, returned in the response (IPN and Return URL).
Format ans..127
Error code 113
Category Buyer details.
vads_cust_email
Description Buyer's e-mail address, required if you want the payment gateway to send an e-
mail to the buyer.
In order to make sure the buyer receives an e-mail, make sure to post this
parameter in the form when you generate a payment request.
Input and output field, returned in the response (IPN and Return URL).
Format ans..150
Error code 15
Category Buyer details.
vads_cust_first_name
Input and output field, returned in the response (IPN and Return URL).
Format ans..63
Error code 104
Note Mandatory parameter for 3xCB Cofinoga.
Category Buyer details.
vads_cust_id
Input and output field, returned in the response (IPN and Return URL).
Format an..63
Error code 16
Category Buyer details.
vads_cust_last_name
Input and output field, returned in the response (IPN and Return URL).
Format ans..63
Input field.
Format an..100
Error code 121
Category Buyer details.
vads_cust_name
Input and output field, returned in the response (IPN and Return URL).
Format an..127
Error code 18
Category Buyer details.
vads_cust_national_id
Input and output field, returned in the response (IPN and Return URL).
Format ans..255
Error code 124
Category Buyer details.
vads_cust_phone
Input and output field, returned in the response (IPN and Return URL).
Format an..32
Error code 23
Note Mandatory parameter for 3xCB Cofinoga.
Category Buyer details.
vads_cust_state
Format ans..127
Error code 88
Category Buyer details.
Input and output field, returned in the response (IPN and Return URL).
Format enum
Error code 92
Possible values PRIVATE, COMPANY
Category Buyer details.
vads_cust_title
Input and output field, returned in the response (IPN and Return URL).
Format an..63
Error code 17
Category Buyer details.
vads_cust_zip
Input and output field, returned in the response (IPN and Return URL).
Format an..64
Error code 20
Category Buyer details.
vads_cvv
Its length can vary between 3 and 4 digits depending on the card type.
Input field.
Format n..4
Error code 43
Category Payment method details.
vads_effective_amount
Format n..12
• vads_amount = 1000
• vads_currency = 978
Returned parameters
• vads_amount = 1000
• vads_currency = 978
• vads_effective_amount = 1000
• vads_amount = 1000
• vads_currency = 840
Returned parameters
• vads_amount = 1000
• vads_currency = 840
• vads_change_rate= 1.3118 (exchange rate)
• vads_effective_amount = 762 (vads_amount / vads_change_rate)
• vads_amount = 9000
• vads_currency = 978
• vads_payment_config=MULTI_EXT:date1=3000;date2=2000;date3=4000
Note : The MULTI_EXT value is not available for SEPA payment.
• vads_amount = 9000
• vads_currency = 978
• vads_effective_amount = 3000
• vads_amount = 9000
• vads_currency = 840
• vads_payment_config=MULTI_EXT:20121025=3000;20121026=2000;20121027=4000
Note : The MULTI_EXT value is not available for SEPA payment.
• vads_amount = 9000
• vads_currency = 840
• vads_change_rate= 1.3118 (exchange rate)
• vads_effective_amount = 2287 (amount of the 1st installment, 30$ / vads_change_rate)
vads_effective_creation_date
Format n14
Category Transaction details
vads_effective_currency
Format n3
Category Transaction details
Input and output field, returned in the response (IPN and Return URL).
Format n..2
Error code 41
Category Payment method details.
vads_expiry_year
Input and output field, returned in the response (IPN and Return URL).
Format n4
Error code 42
Category Payment method details.
vads_ext_info
Description Allows to add an optional field to the confirmation e-mail sent to the merchant.
It can be viewed:
• in the Merchant Back Office in the transaction details section (Extras tab).
• in the data transmitted to the merchant website when returning to the shop
• in the data transmitted to the merchant website during the IPN
• by default in the payment confirmation e-mail sent to the merchant
• in the payment confirmation e-mail sent to the buyer if you specify it in the
setting up notification.
Syntax to respect:
vads_ext_info_fieldname=value
Input and output field, returned in the response (IPN and Return URL).
Format ans
Error code 91
Category Order details.
vads_ext_info_bil_address_complement
Input field.
Format ans..250
Description Allows to transmit the birth date indicated on the bill to the risk analyzer.
Format : yyyymmdd
Input field.
Format n8
Category Buyer details.
vads_ext_info_bil_gender
Input field.
Format n1
Category Buyer details.
vads_ext_info_deadline
Input field.
Format n
Category Shipping details.
vads_ext_info_donation
Description Parameter returned only in the instant notification URL (also called IPN) in case of
a donation
Transaction amount expressed in the smallest currency unit (cents for euro)
Format n..12
Category Donation details.
vads_ext_info_donation_recipient
Description Parameter returned only in the instant notification URL (also called IPN) in case of
a donation
HelloAsso ID of the donation recipient.
Format n..20
Description Parameter returned only in the instant notification URL (also called IPN) in case of
a donation
Name of the organization that received the donation.
Format string
Category Donation details
vads_ext_info_donation_merchant
Description Parameter returned only in the instant notification URL (also called IPN) in case of
a donation
ID of the shop that performed the donation.
Format n8
Category Donation details
vads_ext_info_donation_contribution
Description Parameter returned only in the instant notification URL (also called IPN) in case of
a donation
Transaction amount expressed in the smallest currency unit (cents for euro)
Format n..12
Category Donation details.
vads_ext_info_fingerprint_id
Input field.
Format string
vads_ext_info_ship_address_complement
Input field.
Format ans..250
Category Shipping details.
Description Allows to specify the buyer's date of birth for the shipping.
Format: yyyymmdd
Input field.
Format n8
Category Shipping details.
vads_ext_info_ship_gender
Input field.
Format n1
Category Shipping details.
vads_ext_trans_id
Format ans..20
Category Transaction details
Description Optional code of the response. Its meaning depends on the value entered in
vads_result.
• If vads_result equals 30 (request error), then vads_extra_result contains the
numeric code of the field with an error in the value or the format. This value
can be set to 99 in case of an unknown error in the request.
Example: if vads_extra_result contains the value 09, it means that the amount
specified in vads_amount is incorrect(for example, if the amount contains
decimals, as it would not have been converted to cents in advance).
• If vads_result equals 05 (declined) or 00 (accepted), vads_extra_result contains
the numeric code of the risk management 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 in 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 IP address is on the greylist.
99 Technical issue encountered by the server during a local verification process.
vads_first_installment_delay
Description When the acquirer supports the parameter, this field allows to specify the number
of deferred months to be applied on the first due date of the payment in
installments (ex: Webpay Completa).
The payment will be declined and the vads_payment_error field will be valued at
171 in the following cases:
• the merchant is not allowed to defer payments
• the value transmitted in the request is not among the options authorized by
the acquirer.
Input field.
Format n..2
Error code N/A
Category Transaction details
Description A unique key returned only to the Instant Payment Notification (IPN).
Format an64
Category Technical details
vads_identifier
Description Unique identifier (token or Unique Mandate Reference) associated with a payment
method.
• Either this identifier is generated by the payment gateway.
In this case, this parameter must not be populated.
• Or it is generated by the merchant website.
In this case, this parameter must be populated with the desired value of the
identifier. Caution, it is the responsibility of the merchant website to make
sure the identifiers are unique. Any registration request containing an existing
identifier will be rejected and an error message will appear.
The input and output field, returned in the response (IPN and Return URL).
Format ans..50
Error code 30
Category Recurring payment details.
Format string
Possible values Value Description
CREATED The authorization request has been accepted.
Token (or UMR for SEPA payment) has been successfully created.
NOT_CREATED The authorization request has been declined.
The token (or UMR for SEPA payment) has not been created, and
therefore cannot be viewed in the Merchant Back Office.
UPDATED Token (or UMR for SEPA payment) has been successfully updated.
NOT_UPDATED The token (or UMR for SEPA payment) has not been updated.
ABANDONED The action has been abandoned by the buyer (debtor).
The token (or UMR for SEPA payment) has not been created, and
therefore cannot be viewed in the Merchant Back Office.
vads_iframe_options
Description Allows to customize certain elements on the payment page in iframe mode:
• fieldsBackgroundColor: background color of the entry fields
• fieldsFontColor: font color in entry fields
Example of syntax:
vads_iframe_options =
{"fieldsBackgroundColor":"#000000","fieldsFontColor":"#FFFFFF"}
Input field.
Format json
Error codes En cas d'erreur de format, le champ est ignoré et le formulaire de paiement n'est
pas refusé.
Category Customization of the payment page.
Input field.
Format n..12
Error code 110
Category Order details.
vads_language
In the response:
Returns the value specified in the form if the buyer has not changed the language
of the payment page.
Returns the language selected by the buyer if the buyer has changed it by clicking
on a different flag.
Input and output field, returned in the response (IPN and Return URL).
Format a2
Error code 12
Input field.
Format n..12
Category Order details.
vads_operation_type
Description Allows to distinguish debit, credit (refund) or verification operations when creating
or updating a token without the transaction.
Note
vads_operation_type field is not returned in the response when a payment is
canceled or abandoned.
Format enum
Possible values • DEBIT
• CREDIT
• VERIFICATION
Note
The vads_operation_type field is set to VERIFICATION in the following cases where
there is not transaction:
• vads_page_action = REGISTER
Creation of a token without payment
• vads_page_action = REGISTER_UPDATE
Update of information associated with the alias
• vads_page_action = REGISTER_SUBSCRIBE
Creation of a token during a subscription
Description Order ID. It is also included in the payment confirmation e-mail sent to the buyer.
Alphanumeric field. Only one special character, "-", is allowed.
If any other special characters are used (&, ;, @, etc.), the payment gateway will
return an error.
Input and output field, returned in the response (IPN and Return URL).
Format ans..64
Error code 13
Category Order details.
vads_order_info
Input and output field, returned in the response (IPN and Return URL).
Format an..255
Error code 14
Category Order details.
vads_order_info2
Input and output field, returned in the response (IPN and Return URL).
Format an..255
Error code 14
Category Order details.
vads_order_info3
Format an..255
Error code 14
Category Order details.
vads_override_payment_cinematic
Input field.
Format enum
Error code 131
Possible values • (empty)
The MID value is used.
• IMMEDIATE_CAPTURE
Corresponds to a workflow of immediate capture: the capture is triggered by
the acquirer in the day of the transaction.
• DELAYED_CAPTURE
Corresponds to a workflow of deferred capture: the capture is triggered by the
payment gateway, always before the expiry of the authorization request.
Input and output field, returned in the response (IPN and Return URL).
Format enum
Error code 46
Possible values • PAYMENT
Payment (using token or not)
• REGISTER
Creation of a token without payment
• REGISTER_UPDATE
Update of information associated with the alias
• REGISTER_PAY
Creation of a token during a payment
• REGISTER_SUBSCRIBE
Creation of a token during a subscription
• REGISTER_PAY_SUBSCRIBE
Creation of a token during creation of a subscription with payment
• SUBSCRIBE
Using a token to create a recurring payment
• REGISTER_UPDATE_PAY
Update of information associated with the token during a payment
• ASK_REGISTER_PAY
Payment with option for the cardholder to create an alias
Description Contains the list of payment methods offered to the buyer, separated by ";".
If this list contains only one type of payment method, the data entry page for this
payment method will directly appear. If there is more than one payment method,
the payment method selection page will appear.
If this parameter is empty (recommended), the available payment methods
(currencies, technical constraints, etc.) associated with the shop will be offered.
Input field.
Format type1;type2;type3
Error code 08
The form will be rejected in the following cases:
• the transmitted value does not appear in the list below.
• the values TOUTES, ALL are not accepted. To provide all payment methods, this
parameter should not be posted or be posted empty.
• The transmitted value does not correspond to the payment method available
for your shop.
• Your e-commerce contract was closed by your banking institution. Contact the
customer service of your payment platform.
• The transmitted value is not eligible in the associated network.
vads_payment_certificate
Description This field is populated by the payment gateway if the authorization has been
successfully completed.
Format an40
Category Transaction details
Input and output field, returned in the response (IPN and Return URL).
Format enum
Error code 07
Possible values • SINGLE
• MULTI:first= initial_amount;count=installments_nb ;period=interval_in_days
Note : The MULTI value is not available for SEPA payment.
• MULTI_EXT:date1=amount1;date2=amount2;date3=amount3
Note : The MULTI_EXT value is not available for SEPA payment.
Example 2 MULTI_EXT allows to define a customized installment schedule. You will be able
to define the amount of each installment.
MULTI_EXT : payment request :
• vads_currency=978
• vads_amount=10000
• vads_payment_config= MULTI_EXT:20150601 =5000; 20150701 =2500;
20150808 =2500
Result:
The first payment of 50 ,00 EUR is scheduled for June 1st 2015..
The second payment of 25 ,00 EUR is scheduled for July 1st 2015..
The last payment of 25 ,00 EUR is scheduled for August 8th 2015.
Note:
The total amount must be equal to the value of the vads_amount field. The date
of the last installment cannot be later than 12 months after the date of submission
of the form. If the last installment is scheduled later than the card expiry date, no
installment will be registered and the buyer will be notified about this issue.
Description Error codes that may appear when a payment has been declined.
Format n..3
Possible values
Code Message
1 Transaction not found.
2 Transaction not found.
3 This action has not been authorized for a transaction with the {0} status.
4 This transaction is not authorized in this context.
5 This transaction already exists.
6 Invalid transaction amount.
7 This action is not possible anymore for a transaction created on that day
8 The card expiration date does not allow this action.
9 CVV mandatory for this card.
10 The refund amount is greater than the initial amount.
11 The refunds total amount is greater than the initial amount.
12 Credit duplication (refund) is not authorized.
13 Due to a technical problem, we are unable to process your request.
14 Due to a technical problem, we are unable to process your request.
15 Due to a technical problem, we are unable to process your request.
16 Due to a technical problem, we are unable to process your request.
17 Aurore MID configuration has failed.
18 Cetelem response analysis has failed.
19 Unknown currency.
20 Invalid type card.
21 No MID has been found for this payment. Please modify the data or contact your manager in case the error
reoccurs.
22 Shop not found.
23 Ambiguous MID.
24 Invalid MID
25 Due to a technical problem, we are unable to process your request.
26 Invalid card number.
27 Invalid card number.
28 Invalid card number.
29 Invalid card number.
30 Invalid card number (Luhn)
31 Invalid card number (length)
32 Invalid card number (not found)
33 Invalid card number (not found)
34 Failed verification of the card requiring systematic verification.
35 Failed e-Carte Bleue verification.
36 The transaction has been refused by risk management.
37 Interruption not processed during the payment.
38 Due to a technical problem, we are unable to process your request.
39 3D Secure refusal for the transaction.
40 Due to a technical problem, we are unable to process your request.
41 Due to a technical problem, we are unable to process your request.
42 An internal error occurred while consulting the card number.
43 An internal error occurred while consulting the card number.
vads_payment_option_code
Input and output field, returned in the response (IPN and Return URL).
Format an..5
Error code 103
Category Transaction details
Format json
The vads_payment_seq field (json format) describes the split payment sequence.
It contains:
• "trans_id" : global transaction identifier to the payment sequence.
• "transaction" : transaction table of the sequence. It contains:
Field name Description
amount Amount of the payment sequence.
operation_type Debit transaction.
auth_number Authorization number. 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.
Value Description
CREATED The authorization request has been accepted.
Token (or UMR for SEPA payment) has been
successfully created.
NOT_CREATED The authorization request has been declined.
The token (or UMR for SEPA payment) has not been
created, and therefore cannot be viewed in the
Merchant Back Office.
UPDATED Token (or UMR for SEPA payment) has been
successfully updated.
NOT_UPDATED The token (or UMR for SEPA payment) has not been
updated.
ABANDONED The action has been abandoned by the buyer (debtor).
The token (or UMR for SEPA payment) 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 payments by credit cards.
trans_uuid Unique reference generated by the payment gateway after the creation of a
payment transaction.
Code Description
Empty No verification completed.
00 All the verification processes have been successfully completed.
02 Credit card velocity exceeded.
03 The card is in 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 IP address is on the greylist.
99 Technical issue encountered by the server during a local
verification process.
Note: canceled transactions also appear in the table (information provided in the
JSONtrans_status parameter).
vads_payment_src
Format enum
Error code 60
Possible values Value Description
EC E-commerce: payment made on the payment page.
MOTO MAIL OR TELEPHONE ORDER: payment processed by an operator following a MOTO
order.
CC Call center: payment made through a call center
OTHER Other: payment made through a different source, e.g. Merchant Back Office
vads_pays_ip
Description Buyer's country code and the IP address in the ISO 3166 format.
Format a2
vads_presentation_date
Format n14
Category Transaction details
vads_product_amountN
Input field.
Format n..12
Error code 102
Category Order details.
vads_product_ext_idN
Input field.
Format an..100
Error code 120
Category Order details
Input field.
Format ans..255
Error code 97
Category Order details.
vads_product_qtyN
Input field.
Format n..12
Error code 101
Category Order details.
vads_product_refN
Input field.
Format an..64
Error code 100
Category Order details.
Champ d'entrée.
Format enum
Code d'erreur 98
vads_product_vatN
Description Allows to define the tax for each item in the cart.
N corresponds to the reference of the article. (0 for the first item, 1 for the second
item, etc.)
Input field.
Format n..12
vads_proof_of_id_number
Description Field reserved to the entry of the buyer's ID number on the payment page.
The format depends on the ID type and is between 7 and 13 characters, digits,
letters and/or full stops.
In Latin America, this parameter is required for DECIDIR.
Input field.
Format an..13
Error code 129
Category Payment method details.
vads_proof_of_id_type
Description This field corresponds to the ID type selected by the buyer during the entry of the
payment card details.
In Latin America, this parameter is required for DECIDIR.
Input field.
Format enum
Error code 128
Category Payment method details.
vads_recurrence_number
Format n..2
Category Subscription details
vads_recurrence_status
Format string
Description Allows to define the message that will appear before automatic redirection to the
merchant website if the payment has been declined.
Input field.
Format ans..255
Error code 37
Category Redirection to the merchant website.
vads_redirect_error_timeout
Input field.
Format n..3
Error code 36
Category Redirection to the merchant website.
Description Allows to specify the message that will appear upon automatic redirection to the
merchant website.
Input field.
Format ans..255
Error code 35
Category Redirection to the merchant website.
vads_redirect_success_timeout
Input field.
Format n..3
Error code 34
Category Redirection to the merchant website.
vads_requestor
Description Allows to modify the value of the "Aceite" field for a Boleto Bancario.
The Aceite field can have two values:
• N (= No)
Default value
The boleto has been generated without an official authorization of the buyer by
means of a signed document.
• S (= Yes)
The buyer's authorization is mandatory as the signed document will serve as
evidence of debt.
Input and output field, returned in the response (IPN and Return URL).
Format enum
Possible values • BANK
Means that the S (= Yes) value will be applied in the Aceite field
• MERCHANT
Means that the N (= No) value will be applied in the Aceite field
Format n2
Possible values Value Description
00 Action successfully completed.
02 The merchant must contact the cardholder's bank Deprecated.
05 Action rejected.
17 Action canceled by the buyer.
30 Request format error. To match with the value of the vads_extra_result field.
96 Technical details.
vads_return_mode
Description Allows to specify the data transmission method used while returning to the
merchant website.
Input field.
Format enum
Error code 48
Description Returns the result of the risk management process performed by an external system
(Konduto, ClearSale, CyberSource, etc.).
Format ans
Possible values
ClearSale
APA The transaction is automatically approved according to the defined parameters.
APM The transaction is manually approved by an analyst.
RPM The order is reproved due to missing information related to the buyer in conformity with the policy in
force.
AMA Waiting for manual analysis. The order is waiting to be analyzed.
ERR Error
NVO New order. Waiting to be processed and classified.
SUS Order manually suspended. The order is suspended for suspected fraud.
CAN Order is canceled. The order has been canceled by the buyer.
FRD Fraud confirmed by the credit card operator or the cardholder.
RPA Order automatically declined. The order has been automatically declined in accordance with the
parameters of the external risk analyzer.
RPP Order automatically declined. The order is reproved based on the customer or ClearSale policy
Table 46: Values returned by ClearSale
CyberSource
100 Transaction successfully completed.
101 Transaction is declined. One or more parameters are missing
102 Transaction is declined. One or more parameters have invalid data
150 Error.
151 Error. The request was received but the time limit has been exceeded. This error does not include
timeouts between the client and the server.
152 Error. The request was received but a service was not completed in time.
202 Declined. Card expired.
231 Declined. Invalid account number.
234 Declined. A problem occurred with the merchant CyberSource configuration.
400 Declined. The score of the fraud exceeds the tolerance.
480 The order is marked and needs to be reviewed by the Decision Manager.
481 The order has been rejected by the Decision Manager.
Table 47: Values returned by Cybersource
Description Returns the list of actions performed on the transaction, following the activation of
the advanced risk assessment activated in the Merchant Back Office.
When triggering multiple rules, the vads_risk_assessment_results field will consist of
multiple keywords separated by a ";".
Example:
vads_risk_assessment_results="ENABLE_3DS;MANUAL_VALIDATION"
Format ans
Possible values
Values Description
ENABLE_3DS 3D Secure enabled.
DISABLE_3DS 3D Secure disabled.
MANUAL_VALIDATION The transaction has been created via manual validation.
The payment capture is temporarily blocked to allow the merchant perform all the
desired verifications.
REFUSE Transaction is declined.
RUN_RISK_ANALYSIS Call for an external risk analyzer if the merchant has a contract.
Refer to the description of the vads_risk_analysis_result field to identify the list of
possible values and their description.
INFORM A warning message appears.
The merchant is notified that a potential problem has been identified.
The merchant is informed via one or several notification center rules (IPN, e-mail or
SMS).
Format control1=result1;control2=result2
Possible values Value Description
CARD_FRAUD Verifies whether the cardholder's card number is in the
card greylist.
SUSPECT_COUNTRY Verifies whether the cardholder's card number is in the list
of forbidden countries.
IP_FRAUD Verifies whether the cardholder's IP address is in the IP
greylist.
CREDIT_LIMIT Verifies the purchase frequency and amounts for the same
card number, or the maximum amount of an order.
BIN_FRAUD Verifies whether the BIN code of the card is in the greylist
for BIN codes.
ECB Verifies whether the buyer's card is an "e-carte bleue".
COMMERCIAL_CARD Verifies whether the buyer's card is a corporate credit
card.
SYSTEMATIC_AUTO Verifies whether the buyer's card is a MAESTRO or VISA
ELECTRON credit card.
INCONSISTENT_COUNTRIES Verifies whether the country of the IP address, the country
of the payment card and the country of residence of the
buyer match.
NON_WARRANTY_PAYMENT Verifies the liability shift of the transaction.
SUSPECT_IP_COUNTRY Verifies whether the cardholder's country, identified by
his/her IP address, is in the list of forbidden countries.
Format enum
Error code 117
Possible values Value Description
DEFAULT or empty Default value. Applying shop settings.
IGNORE Ignore the value of transfer of responsibility for the primary transaction
before creating a secondary transaction.
CHECK Force the verification process of transfer of responsibility for the primary
transaction before creating a secondary transaction
vads_sequence_number
If vads_payment_config = SINGLE:
vads_url_check_srcvads_sequence_number
Description
1 Payment made in 1 attempt
PAY 2 Payment made in 2 attempts
3 Payment made in 3 attempts
1 Deferred Payment made in 1 attempt
BATCH_AUTO 2 Deferred Payment made in 2 attempts
3 Deferred Payment made in 3 attempts
Note:
vads_sequence_number field is not returned in the response when a payment is
canceled or abandoned.
vads_ship_to_city
Input and output field, returned in the response (IPN and Return URL).
Format an..128
Error code 83
Category Shipping details.
Description Allows you to specify the buyer's country code in the ISO 3166 standard.
Input and output field, returned in the response (IPN and Return URL).
Format a2
Error code 86
Examples of Code Country Code Country
possible values AT Austria IN India
BR Brazil MQ Martinique
CI Ivory Coast NC New Caledonia
FR Corsica PF French Polynesia
FR France PM St. Pierre and Miquelon
GP Guadeloupe US United States of America
vads_ship_to_delay
Description Allows to define the speed depending on the shipping method when
vads_ship_to_speed is set to PRIORITY.
Input field.
Format enum
Error code 127
Possible values • INFERIOR_EQUALS for a shipping delay inferior or equal to 1 hour.
• SUPERIOR for a shipping delay exceeding 1 hour.
• IMMEDIATE for an immediate shipping.
• ALWAYS for a 24/7 shipping delay.
vads_ship_to_delivery_company_name
Input field.
Format ans..127
Error code 96
Category Shipping details.
vads_ship_to_district
Input and output field, returned in the response (IPN and Return URL).
Format ans..127
vads_ship_to_first_name
Input field.
Format ans..63
Error code 106
Category Shipping details.
vads_ship_to_last_name
Input field.
Format ans..63
Error code 107
Category Shipping details.
vads_ship_to_legal_name
Input field.
Format an..100
Error code 125
Category Shipping details.
vads_ship_to_name
Input and output field, returned in the response (IPN and Return URL).
Format ans..63
Error code 80
Category Shipping details.
vads_ship_to_phone_num
Input and output field, returned in the response (IPN and Return URL).
Input field.
Format enum
Error code 95
Possible values STANDARD, EXPRESS, PRIORITY
Note:
The use of PRIORITY as a value implies that the vads_ship_to_delay will be used.
vads_ship_to_status
Input and output field, returned in the response (IPN and Return URL).
Format enum
Error code 93
Possible values PRIVATE, COMPANY
Category Shipping details.
vads_ship_to_state
Input and output field, returned in the response (IPN and Return URL).
Format ans..127
Error code 84
Category Shipping details.
Input and output field, returned in the response (IPN and Return URL).
Format ans..255
Note:> and < are not authorized.
Error code 81
Category Shipping details.
vads_ship_to_street2
Input and output field, returned in the response (IPN and Return URL).
Format ans..255
Note:> and < are not authorized.
Error code 82
Category Shipping details.
vads_ship_to_street_number
Input and output field, returned in the response (IPN and Return URL).
Format ans..64
Error code 114
Category Shipping details.
vads_ship_to_type
Input field.
Format enum
Error code 94
Possible values • RECLAIM_IN_SHOP for picking up the item at the shop.
• RELAY_POINT for using a third-party pick-up network (Kiala, Alveol, etc.).
• RECLAIM_IN_STATION for picking up the item in an airport, a guard or a travel
agency.
• PACKAGE_DELIVERY_COMPANY for shipping by the transporter (Colissimo,
UPS, etc.).
• ETICKET for sending an electronic ticket, download.
This parameter will be returned with the response and will include the value
transmitted in the request.
Note:
For backward compatibility, it is possible to use this field to set the CPF/CNPJ (legal
identifier in a numeric format between 11 and 20 digits long) required by the
ClearSale risk management module. However, vads_cust_national_id field can be
used.
The input and output field, returned in the response (IPN and Return URL).
Format ans..255
Error code 116
Category Shipping details.
vads_ship_to_zip
Input and output field, returned in the response (IPN and Return URL).
Format an..64
Error code 85
Category Shipping details.
vads_shipping_amount
Description Allows to transmit the shipping fees for the whole order
Input field.
Format n..12
Error code 109
Category Shipping details.
vads_shop_name
Description Allows to define the shop name as it appears in the summary at the end of
payment, the receipt and the payment confirmation e-mails.
The input and output field, returned in the response (IPN and Return URL).
Format ans..127
Error code 72
Category Customization of the payment page.
Description URL that appears on the payment page and in payment confirmation e-mails.
This setting overrides the default value of your shop.
Input and output field, returned in the response (IPN and Return URL).
Format ans..1024
Error code 73
Category Customization of the payment page.
vads_site_id
If the value is not correct, when paying the buyer will get an error message on his
browser.
It becomes impossible to make the payment and the transaction is definitively lost.
A warning e-mail is then sent to the administrator contact. It contains the form that
the gateway could not process.
Input and output field, returned in the response (IPN and Return URL).
Format n8
Error code 02
Category Technical details
vads_subscription
Description Optional parameter used for creating a recurring payment. It designates the ID of
the recurring payment ID to create.
There are two choices:
• The payment gateway manages the IDs.
In this case, this parameter must not be populated.
In case the subscription is successfully created, the response will contain the
value generated by the payment gateway.
• The merchant website manages the IDs.
In this case, this parameter must be populated with the desired value of the
recurring payment ID.
Input and output field, returned in the response (IPN and Return URL).
Format ans..50
Error code 63
Category Recurring payment details.
Input field.
Format n..12
Error code 65
Category Recurring payment details.
vads_sub_currency
Input and output field, returned in the response (IPN and Return URL).
Format n3
Examples of The possible currencies are:
possible values
Number of digits after
Currency ISO 4217 encoding
the decimal point
Australian Dollar (AUD) 036 2
Cambodian Riel (KHR) 116 0
Canadian Dollar (CAD) 124 2
Chinese Yuan Renminbi (CNY) 156 1
Czech Crown (CZK) 203 2
Danish Crown (DKK) 208 2
Hong Kong Dollar (HKD) 344 2
Hungarian Forint (HUF) 348 2
Indian Rupee (INR) 356 2
Indonesian Rupiah (IDR) 360 2
Japanese Yen (JPY) 392 0
South Korean Won (KRW) 410 0
Kuwaiti Dinar (KWD) 414 3
Malaysian Ringgit (MYR) 458 2
Mexican Peso (MXN) 484 2
Moroccan Dirham (MAD) 504 2
New Zealand Dollar (NZD) 554 2
Norwegian Crown (NOK) 578 2
Philippine Peso (PHP) 608 2
Russian Ruble (RUB) 643 2
Singapore Dollar (SGD) 702 2
South-African Rand (ZAR) 710 2
Swedish Crown (SEK) 752 2
Error code 67
Category Recurring payment details.
vads_sub_desc
Examples:
• To program installment payments taking place on the last day of each month
for 12 months, the rule is:
RRULE:FREQ=MONTHLY;BYMONTHDAY=28,29,30,31;BYSETPOS=-1;COUNT=12
This rule means that if the current month does not have 31 days, the machine
will take the 30th into account. If the 30th does not exist, the machine will take
the 29th into account, and so on until the 28th.
Another version of this rule:
RRULE:FREQ=MONTHLY;COUNT=5;BYMONTHDAY=-1
Format string
Error code 64
Category Subscription details
Description Mandatory parameter used for creating a subscription that allows to define the
subscription start date.
This parameter does not always match with the date of the first installment that
depends only on the vads_sub_desc parameter.
The effective date indicates when the recurring payment starts. The date format
is AAAAMMJJ.
Example: for February 1st 2015, enter 20150201.
Input and output field, returned in the response (IPN and Return URL).
Format n8
Error code 69
Category Subscription details
vads_sub_init_amount
Description Optional parameter used for creating a subscription. Represents the amount of the
first installments of the recurring payment.
The number of these first installments is defined by the
vads_sub_init_amount_number parameter.
This amount is presented in the currency defined by the vads_sub_currency
parameter and is expressed in its smallest unit (cent for euro).
E.g.: for an amount of 10 euros and 28 cents, the value of the parameter is 1028.
The value may be empty but cannot be negative or equal to 0.
Input and output field, returned in the response (IPN and Return URL).
Format n..12
Error code 66
Category Subscription details
vads_sub_init_amount_number
Description Optional parameter used for creating a recurring payment. Number of installments
for which the vads_sub_init_amount should be applied.
Once these installments will have expired, the vads_sub_amount field will be used.
Example: to define a recurring payment with the first 3 installments of 25,00 EUR,
and the rest of the installments of 30,00 EUR, the following values will be used:
• vads_sub_currency = 978
• vads_sub_init_amount_number = 3
• vads_sub_init_amount = 2500
• vads_sub_amount = 3000
Input and output field, returned in the response (IPN and Return URL).
Format n..3
vads_tax_amount
Description Parameter that allows to define the amount of taxes for the entire order.
This amount will be presented in the smallest unit of the currency (Cents for Euro.).
Concerns only the PayPal payment method.
Input field.
Format n..12
Error code 108
Category Order details.
vads_theme_config
Description Allows to personalize certain elements on the payment page, such as the custom
template to be used, the button labels and some messages.
This parameter purpose a list of keywords (codes) corresponding to the elements
on the payment page and which are associated with a value.
Example:
vads_theme_config="SUBMIT_BUTTON_LABEL=PAY;TICKET_LABEL=PAYMENT RECEIPT"
See Advanced customization - Back Office user manual for more details on payment
page personalization.
Input field.
Format map
Error code 32
Possible values
Code Description
Functionalities
RESPONSIVE_MODEL Allows to override the custom template to be applied to the payment
pages.
Example of use:
vads_theme_config="RESPONSIVE_MODEL=Model_1"
vads_theme_config="RESPONSIVE_MAIL_MODEL=Model_1"
vads_theme_config="SIMPLIFIED_DISPLAY=true"
FORM_TARGET Allows to define or display the return page at the end of payment.
Possible values:
• _blank: in a new window or a new tab
• _self: in the current frame
• _parent: in the parent frame
• _top: on the whole page
• framename: in a specified frame.
Example of use:
vads_theme_config="FORM_TARGET=_top"
3DS_LOGOS Allows to mask the "Verified By Visa" and "Mastercard Secure Code"
logos on the card detail entry page.
Possible values: "true" or "false".
Example of use:
vads_theme_config="3DS_LOGOS=false"
Button labels
SUBMIT_BUTTON_LABEL Allows to edit the label of the "VALIDATE" button.
Example of use:
vads_theme_config="SUBMIT_BUTTON_LABEL=PAY"
CANCEL_FOOTER_MSG_RETURN The label of the "Cancel and return to the shop" button on the page of
payment method selection, the card detail entry page, and the result
page in case of payment failure.
Example of use:
vads_theme_config="CANCEL_FOOTER_MSG_RETURN=CANCEL"
SUCCESS_FOOTER_MSG_RETURN The label of the "Return to the shop" button on the result page in case of
successful payment.
Example of use:
vads_theme_config="SUCCESS_FOOTER_MSG_RETURN=RETURN"
TICKET_LABEL The label of the "RECEIPT" button on the result page in case of successful
payment.
Example of use:
vads_theme_config="TICKET_LABEL=PAYMENT RECEIPT"
Messages
MERCHANT_ MESSAGE Allows to display a message above the transaction summary.
Requires for the Display a custom message checkbox to be checked via
Settings > Customization > Payment pages tab > Logo group.
Example of use:
vads_theme_config="MERCHANT_MESSAGE=Transaction
summary"
SECURE_ MESSAGE Default value: The address of this website starting with https indicates
that you are on a secure page and can safely proceed to your payment.
SECURE_MESSAGE_REGISTER Default value: The address of this website starting with https indicates
that you are on a secure page and can safely enter your bank details.
REGISTER_ON_PAYMENT Allows to customize the text of the checkbox that appears during
ASK_REGISTER_PAY.
Default value: I would like to register my payment method details for a
future purchase
Labels that appear on the receipt and the payment pages
SITE_ID_LABEL Default value: Merchant ID
ORDER_ID_LABEL Default value: Order reference
TRANSACTION_ID_LABEL Default value: Transaction number
TRANSACTION_AMOUNT_LABEL Default value: Amount
MULTI_DATE_LABEL Default value: Sale date
Information displayed only during an installment payment.
CUST_ID_LABEL Default value: Buyer reference
Information displayed only during a payment by token.
CUST_ADRESS_NUMBER_LABEL Default value: Address number
Information displayed only during a payment by token.
CUST_ADRESS_LABEL Default value: Address
Information displayed only during a payment by token.
CUST_ADRESS2_LABEL Default value: Second line of the address
Information displayed only during a payment by token.
CUST_DISTRICT_LABEL Default value: District
Information displayed only during a payment by token.
CUST_CITY_LABEL Default value: City
Information displayed only during a payment by token.
CUST_COUNTRY_LABEL Default value: Country
Information displayed only during a payment by token.
CUST_PHONE_LABEL Default value: Phone
Information displayed only during a payment by token.
CUST_NAME_LABEL Default value: Buyer's last name
Information displayed only during a payment by token.
RECURRENCE_AMOUNT_LABEL Default value: Amount per installment
Information displayed only during a payment by token.
RECURRENCE_INIT_AMOUNT_ Default value: Number of installments of initial amount
NUMBER_LABEL Information displayed only during a payment by token.
RECURRENCE_INIT_AMOUNT_LABEL Default value: Initial amount of the recurring payment
Information displayed only during a payment by token.
SHOP_LABEL Default value: SHOP
Information displayed only on the PDF receipt.
SITE_URL_LABEL Default value: URL address
Information displayed only on the PDF receipt.
CUST_LANGUAGE Default value: Language
Information displayed only on the PDF receipt.
vads_threeds_cavv
Description Indicates cardholder authentication via the ACS. Its value is populated by 3DS
authentication server (ACS) when the buyer has been correctly authenticated
(vads_threeds_status equals "Y" or "A").
Format ans..28
Error code 52
Category 3DS Authentication.
vads_threeds_cavvAlgorithm
Description Algorithm used by the ACS to generate the value of the CAVV
Its value is populated by 3DS authentication server (ACS) when the buyer has been
correctly authenticated (vads_threeds_status equals "Y" or "A").
Input and output field, returned in the response (IPN and Return URL).
Format n1
Error code 55
Value Description
Possible values
0 HMAC
1 CVV
2 CVV_ATN
3 MasterCard SPA
vads_threeds_eci
Input and output field, returned in the response (IPN and Return URL).
Format n..2
Error code 53
Category 3DS Authentication.
vads_threeds_enrolled
Description Indicates the enrollment status of the cardholder. Its value is populated by the VISA
and MASTERCARD (DS) servers during 3D Secure authentication.
Input and output field, returned in the response (IPN and Return URL).
Format a1
Error code 51
vads_threeds_error_code
Format n..2
Category 3DS Authentication.
vads_threeds_exit_status
Format n..2
Value Description
Possible values
0 Initial status
1 Status non-applicable (global, reason not detailed)
2 Status non-applicable (integrator disabled)
3 Not an e-commerce payment
4 Payment without 3DS (payment by token, PayPal, Cetelem, etc.)
5 Merchant not enrolled, 3DS unavailable
6 A technical error has occurred during 3DS authentication, 3DS unavailable
7 Cardholder not enrolled, 3DS unavailable
8 Invalid signature
9 Problem caused by the ACS
10 The 3DS authentication has been successfully completed
11 The 3DS authentication has been completed via the integrator
12 Problem caused by DS
13 Timeout when connecting to DS
15 3DS not available for this payment channel (payment by file)
16 Card and network type eligible for 3DS, but no "brand" associated with the
card (pure CB)
98 Initialization of 3DS authentication OK
99 Unknown status
Input field.
Format n1
Error code 50
Value Description
Possible values
Absent 3DS authentication managed by the payment gateway (configuration by the merchant).
or
empty
0 3DS authentication managed by the payment gateway (configuration by the merchant).
1 3DS authentication completely managed by the merchant on the condition that the
vads_card_number field is populated (card data entered by the merchant).
In this case, the data produced by 3D Secure authentication initiated by the
MPI must be submitted in specific fields of the form (vads_threeds_enrolled,
vads_threeds_cavv, vads_threeds_eci, vads_threeds_xid, vads_threeds_cavvAlgorithm,
vads_threeds_status).
2 3DS authentication disabled for the transaction independently of the usual configuration
of the merchant.
vads_threeds_sign_valid
Description Indicates the validity of the PARes message signature. Its value is populated by the
payment gateway.
Format n1
Value Description
Possible values
empty 3DS unavailable.
0 Incorrect signature.
1 Correct signature.
Description Indicates the authentication status of the cardholder. Populated by the 3DS
authentication server (ACS) during the 3D Secure authentication.
Input and output field, returned in the response (IPN and Return URL).
Format a1
Error code 56
Value Description
Possible values
Y Successful authentication.
Note: In the Merchant Back Office, the SUCCESS value is displayed (3D Secure tab in
Transaction details).
N Authentication error.
Note: In the Merchant Back Office, the FAILED value is displayed (3D Secure tab in
Transaction details).
U Authentication impossible.
Note: In the Merchant Back Office, the UNAVAILABLE value is displayed (3D Secure tab in
Transaction details).
A Authentication attempt
Note: In the Merchant Back Office, the ATTEMPT value is displayed (3D Secure tab in
Transaction details).
vads_threeds_xid
Input and output field, returned in the response (IPN and Return URL).
Format ans..28
Error code 54
Category 3DS Authentication.
vads_token_id
Format ans..255
Input and output field, returned in the response (IPN and Return URL).
Format n14
Error code 04
Common mistakes:
• The date has not been submitted in the YYYYMMDDHHMMSS format (year,
month, day, hour, minute, second).
• The date is not based on the UTC time zone (Coordinated Universal Time).
Make sure you use date functions in your programming language that will
generate a UTC hour (e.g.: gmdate in PHP).
• The time must be calculated using the 24h format, not 12h.
• The buyer has waited for too long before clicking on Pay.
• The buyer was using browser history.
Input and output field, returned in the response (IPN and Return URL).
Format n6
Error code 03
Common errors:
The form is rejected:
• if the transmitted value contains less than 6 digits
• if the value is null
• if the field is absent
• if an identical transaction number has already been sent on the same day.
If the buyer clicks on "Cancel and return to the shop", the transaction number
must be different for the next attempt as the previous one will be considered
as already used.
Otherwise, the message "The transaction has been canceled" will appear.
Format enum
Possible values 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.
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 The transaction capture has failed.
Contact the technical support.
EXPIRED Expired
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.
INITIAL Pending
This status concerns all the payment methods
that require integration via a payment form
with redirection.
This status is returned when:
• no response has been returned by the
acquirer
or
• the delay of the response from the acquirer
has exceeded the payment session on the
payment gateway.
This status is temporary. The final
status will be displayed in the Merchant
Back Office immediately after the
synchronization has been completed.
vads_trans_uuid
Description Unique transaction reference generated by the payment gateway when creating
a payment transaction.
Guarantees that each transaction is unique.
Format ans32
Category Transaction details
vads_url_cancel
Description URL where the buyer will be redirected after having clicked on Cancel and return
to shop before proceeding to payment.
Input field.
Format ans..1024
Error code 27
Category Redirection to the merchant website.
Description URL of the page to notify at the end of payment. Overrides the value entered in
the notification rules settings.
Note
This field should be used only in exceptional cases since:
• this URL will only be used when calling the IPN URL,
• the override value will not be used if an automatic retry takes place.
It is not compatible with the execution of the request sent to the IPN from the
Merchant Back Office. The called URL is the URL that has been set up in the
notification rule (see chapter Setting up notifications).
Input field.
Format ans..1024
Error code 33
Category Redirection to the merchant website.
Description This parameter defines the source of the notification (also called IPN).
Format enum
Value Description
Possible values
PAY Payment creation by form
BO Execution of the notification URL from the Merchant Back Office.
BATCH_AUTO Authorization request for a payment that was awaiting authorization.
BATCH Update of the transaction status after its synchronization on the acquirer
side (case of notification on batch change).
REC Payment resulting from a recurring payment.
MERCH_BO Operation made via the Merchant Back Office.
RETRY Automatic retry of the IPN.
vads_url_error
Description URL where the buyer will be redirected in case of an internal processing error.
Input field.
Format ans..1024
Error code 29
Category Redirection to the merchant website.
vads_url_post_wallet
Description This field allows the merchant to transmit the URL to which the buyer will be
redirected during a payment via a wallet in two steps.
This URL is used for transmitting information relative to the buyer's choice (e-mail,
shipping address, payment method, etc.).
Based on these elements, the merchant can decide what to do (adjust the shipping
fees, register the payment method, etc.) before allowing the buyer to finalize his
or her payment.
The details will be transmitted to the merchant website via an html POST form.
Note
If the URL is inaccessible, the transaction cannot be finalized. After the
payment session expires, a rejected transaction will be created. If the merchant
has configured the notification rule for abandoned/canceled transactions, the
merchant website will be notified about the reason of rejection via the
vads_payment_error field. This field will be set to149 indicating that the payment
session has expired.
It will then become visible in the Merchant Back Office, in the History tab
Format ans..1024
Error code 138
Category Redirection to the merchant website.
vads_url_referral
Input field.
Format ans..127
Error code 26
Category Redirection to the merchant website.
vads_url_refused
Description URL where the buyer will be redirected in case of a declined payment after having
clicked on Return to shop.
Input field.
Format ans..1024
Error code 25
Category Redirection to the merchant website.
Description Default URL to where the buyer will be redirected after having clicked on Return to
shop, if vads_url_error, vads_url_refused, vads_url_success or vads_url_cancel is
not set.
If this field has not been transmitted, the Merchant Back Office configuration will
be taken into account.
It is possible to set up return URLs in TEST and PRODUCTION modes. These fields
are called Return URL of the shop in test mode and Return URL of the shop in
production mode; they can be viewed in Settings > Shop > Configuration.
If no URL has been specified in the Merchant Back Office and in the form, the
Return to shop button will redirect the buyer to the merchant website URL (URL
field in the shop configuration section).
Input field.
Format ans..1024
Error code 28
Category Redirection to the merchant website.
vads_url_success
Description URL where the buyer will be redirected in case of an accepted payment after having
clicked on Return to shop.
Input field.
Format ans..1024
Error code 24
Category Redirection to the merchant website.
vads_user_info
Input and output field, returned in the response (IPN and Return URL).
Format ans..255
Error code 61
Category Buyer details.
Input and output field, returned in the response (IPN and Return URL).
Format enum
Error code 05
Value Description
Possible values
Absent or Takes the value specified in the Merchant Back Office
empty
0 Automatic validation by the payment gateway.
1 Manual validation by the merchant.
vads_version
Input and output field, returned in the response (IPN and Return URL).
Format enum
Error code 01
Possible value V2
Category Technical details
vads_warranty_result
Format enum
Value Description
Possible values
YES The payment is guaranteed.
NO The payment is not guaranteed.
UNKNOW Due to a technical error, the payment cannot be guaranteed.
Not specified Liability shift not applicable