Charge/CreatePayment Web Service
The Charge/CreatePayment operation is a REST API Web Service.
It allows to make several operations:
Creating a transaction using a new card
You can create transactions using a card, together with the embedded form.
In this case, the Charge/CreatePayment REST Web Service will return a formToken that you should then use with our JavaScript form.
To see the reference documentation of the response containing the formToken, go to: Charge/PaymentForm.
Once the payment has been made, the newly created transaction will be included in the Payment object, documented here.
Creating a transaction using a token
You can also create a transaction using the previously recorded payment method (payment token).
For more information, go to: Payment by token.
Issue a SEPA direct debit request
You can trigger the generation of a SEPA Direct Debit request by using the Charge/CreatePayment Web Service in SILENT mode.
For more information, go to: Payment by token.
To see the response reference documentation, go to: Payment.
If you are PCI-DSS certified
If you are PCI-DSS certified, you can pass sensitive information (such as card number) directly to the Web Service.
From a contractual point of view:
For more information, reach out to your sales contact to make sure you are eligible for this option.
From a technical point of view
Go to our page dedicated to the use of the Charge/CreatePayment REST Web Service in PCI-DSS mode.
Request parameters
The Charge/CreatePayment REST Web Service supports the following parameters:
amount
Payment amount in its smallest currency unit (cent for euro).
Example: 30050 for EUR 300.50.
Format
contrib
Name of the e-commerce solution used on the merchant website and its version number.
Format
currency
Payment currency. Alphabetic code in uppercase according to alpha-3 (ISO 4217).
Eg: "EUR" for the euro.
Format
Possible values
The possible values are:
Currency | ISO 4217 ENCODING | Fractional unit |
---|---|---|
Australian dollar (036) | AUD | 2 |
Brazilian real (986) | BRL | 2 |
Canadian dollar (124) | CAD | 2 |
Swiss franc (756) | CHF | 2 |
Czech koruna (203) | CZK | 2 |
Danish crown (208) | DKK | 2 |
Euro (978) | EUR | 2 |
Pound Sterling (826) | GBP | 2 |
Hong Kong dollar (344) | HKD | 2 |
Indian rupee (356) | INR | 2 |
Indonesian rupiah (360) | IDR | 2 |
Japanese yen (392) | JPY | 0 |
South Korean won (410) | KRW | 0 |
Kuwaiti dinar (414) | KWD | 3 |
Mexican peso (484) | MXN | 2 |
Malaysian ringgit (458) | MYR | 2 |
Norwegian crown (578) | NOK | 2 |
Polish zloty (985) | PLN | 2 |
Leu Roumain (946) | RON | 2 |
Russian ruble (643) | RUB | 2 |
Singapore dollar (702) | SGD | 2 |
Swedish krona (752) | SEK | 2 |
Thai baht (764) | THB | 2 |
Turkish lira (949) | TRY | 2 |
New Taiwan dollar (901) | TWD | 2 |
US dollar (840) | USD | 2 |
CFA Franc (952) | XOF | 0 |
ipnTargetUrl
You can override the Instant Payment Notification (also called IPN) in the payment form in case you use one shop for various sales channels, payment types, languages, etc.
Format
orderId
Order reference defined by the Merchant.Does not support UTF-8 characters.
Format
metadata
Custom values linked to the transaction, in JSON format.
Example of a call
For example, to pass a custom value, add the following to your query:
{ "metadata": { "MyValueKey": "1234" } }
This value will be returned in the newly created transaction object.
You can also use the metadata " orderInfo1 ", " orderInfo2 " and " orderInfo3 " to send complementary information about the order.
This data can be found later in the Extra tab of the transaction details via your
Format
fingerPrintId
This field is used by merchants who implement the risk analyzer in their payment page. Allows you to send the session ID (or fingerPrint Id) to the payment platform to finalize the risk analysis.
The supported analyzers are:
- NOTO
- Cybersource
- MonitorPlus
- ClearSale
Can contain uppercase and lowercase characters, numbers or hyphens ([A-Z] [a-z], 0-9, _, -).
Format
formAction
formAction allows you to define the type of desired behavior when creating the transaction.
Format
Possible values
The possible values are:
value | Description |
---|---|
PAYMENT | Creating a simple transaction. Default behavior. |
REGISTER_PAY | Creation of an alias (token) of the payment method at the same time as the transaction. Does not allow the creation of an alias associated with an IBAN. |
ASK_REGISTER_PAY | Adds a checkbox on the form for the creation of an alias (token). Does not allow the creation of an alias associated to an IBAN. |
SILENT | Transaction initiated by the merchant without the presence of the buyer. Makes an alias payment without using the embedded form. |
CUSTOMER_WALLET | Adds a checkbox on the form for add the card in the wallet. The customer.reference field is required for this use case. See the integration guide for more information. |
null | If the value is null or undefined, PAYMENT is applied. |
PAYMENT:
The Web Service will return a formToken.
This is the default behavior. The call to Charge/CreatePayment creates a transaction without performing any additional operations.
REGISTER_PAY:
The Web Service will return a formToken.
A payment method token is created simultaneously with the transaction. This token will then allow you to create one-click transactions. The newly created token will be specified in the paymentMethodToken property. For more information, see the article dedicated to Creating and using tokens.
ASK_REGISTER_PAY:
The Web Service will return a formToken.
This parameter allows you to add a checkbox to the payment form, asking the buyer if they want to record their card.
buyer action | Description |
---|---|
The box is ticked | Records a card token (e.g. formAction=REGISTER_PAY). |
The box is not checked | The token is not created (such as formAction=PAYMENT). Default behavior. |
For more information, go to the article dedicated to Creating and using tokens.
CUSTOMER_WALLET:
The Web Service will return a formToken.
This parameter adds a checkbox to the payment form, asking the buyer if they want to register their card in their wallet. Requires the buyer reference customer.reference.
buyer action | Description |
---|---|
The box is ticked | Adds a card to the wallet. |
The box is not checked | Default behavior. The card is not added to the wallet. |
SILENT: reserved for transactions initiated by the merchant without the presence of the buyer and in particular for recurring payments when recurrence is managed by the merchant.
In the PSD2 zone, the authentication of the cardholder is mandatory when the cardholder is present. The SILENT mode is therefore reserved when the cardholder is absent or for merchants outside the PSD2 zone.
In the PSD2 application area, the strongAuthentication field is ignored and no cardholder authentication is performed.
The Web Service will directly return a transaction rather than a formToken when paying by alias (token). The transaction is therefore server-to-server.
paymentMethodToken
Token associated with a payment method.
Only tokens associated with a credit card are supported.
Format
strongAuthentication
strongAuthentication is used to indicate the Merchant's preference for strong buyer authentication.
With 3DS2, it is no longer possible to disable 3DS. The merchant must request an exemption in his payment request (this is called "merchant preference").
In this case, if the request is accepted by the issuer, the Buyer will not have to authenticate him/herself (no challenge) but the Merchant will assume the responsibility in case of chargeback (no liability shift to the issuer).
In any case, the issuing bank itself determines whether interaction with the Buyer (challenge) is necessary.
As part of PSD2 implementation, strong authentication is required when registering a card. This is the case when formAction is set to REGISTER_PAY but also ASK_REGISTER_PAY and CUSTOMER_WALLET if the buyer decides to register his payment method. The strongAuthentication field is ignored and the CHALLENGE_MANDATE value is applied automatically.
Possible values
The possible values are:
value | 3DS2 description |
---|---|
ENABLED | Depreciated.This value will be interpreted as CHALLENGE_REQUESTED. |
DISABLED | Allows to request authentication without interaction (frictionless). Requires the "Frictionless 3DS2" option.
If the shop does not have the "Frictionless 3DS2" option, the choice of preference is delegated to the card issuer (No Preference). |
CHALLENGE_REQUESTED | Allows you to request strong authentication for the transaction. |
CHALLENGE_MANDATE | Allows you to indicate that for regulatory reasons, strong authentication is required for the transaction. |
NO_PREFERENCE | Indicates to the DS that the merchant does not have a preference. If the issuer decides to perform frictionless authentication, the payment will be guaranteed. |
AUTO | The choice of preference is delegated to the card issuer (No Preference). |
Format
acquirerTransientData
Allows to transmit information specific to certain acquirers.
Use with Conecs
Optional field that allows to transmit the amount of items eligible for payment with the CONECS meal voucher card.
If the field is not transmitted, the whole amount will be considered eligible for payment by meal vouchers, including any delivery fees included in the order amount.
Example for an eligible amount of €17.25:
Example: .
{"CONECS":{"eligibleAmount":"1725"}}
Restrict the accepted BIN codes
To limit the accepted payment cards based on their BIN code, the expected format is:
{"MULTI":{"bins": ["bin1","bin2","bin3"]}}
NB : Supports 6-digit BIN codes or 8-digit BIN codes.
Example: .
code BIN à6 digits: 4012 34XX XXXX XXXX;
code BIN à8 digit: 4000 1234 XXXX XXXX.
Format
customer.reference
Buyer ID on the merchant side.
Required if formAction is set to CUSTOMER_WALLET.
In this case, the buyer's reference is used as the wallet identifier.
Format
customer.email
Buyer's e-mail address.
When you want to create a payment method alias (by setting formAction to REGISTER_PAY , ASK_REGISTER_PAY or CUSTOMER_WALLET ) the email is not required. However, the buyer will have to fill it in the form.
Format
address
Path: customer.billingDetails.address
Billing address.
Warning: the characters > and < are not authorized.
Format
address2
Path: customer.billingDetails.address2
Second line of the billing address.
Warning: the characters > and < are not authorized.
Format
category
Path: customer.billingDetails.category
Buyer type.
Format
Possible values
Values | Description |
---|---|
PRIVATE | Individual buyer type. |
COMPANY | Company buyer type. |
cellPhoneNumber
Path: customer.billingDetails.cellPhoneNumber
Buyer's cell phone number.
Accepts all formats:
Examples:
- 0623456789
- +33623456789
- 0033623456789
- (+34) 824 65 43 21
- 87 77 12 34
Format
city
Path: customer.billingDetails.city
City of the billing address.
Format
country
Path: customer.billingDetails.country
Buyer's country (in uppercase, in accordance with the ISO 3166-1 alpha-2 country codes).
Format
Possible values
Examples of possible values:
Country | Code |
---|---|
AUSTRIA | AT |
BRAZIL | BR |
CORSICA | FR |
IVORY COAST | CI |
FRANCE | FR |
GUADELOUPE | GP |
INDIA | IN |
MARTINIQUE | MQ |
NEW CALEDONIA | NC |
ST-PIERRE-ET-MIQUELON | PM |
FRENCH POLYNESIA | PF |
district
Path: customer.billingDetails.district
District of the billing address.
Format
firstName
Path: customer.billingDetails.firstName
Buyer's first name.
Format
identityCode
Path: customer.billingDetails.identityCode
National identifier. Allows to identify each citizen within a country.
Format
identityType
Path: customer.billingDetails.identityType
ID type.
Format
language
Path: customer.billingDetails.language
Buyer's language code, according to ISO 639-1.
Specify the language in which payment confirmation e-mails are sent.
Format
Possible values
Examples of possible values:
Language | Code |
---|---|
German (Germany) | DE |
English (United Kingdom) | EN |
English (United States) | EN |
Chinese (Traditional) | ZH |
Spanish (Spain) | ES |
Spanish (Chile) | ES |
French (France) | FR |
Italian (Italy) | IT |
Japanese (Japan) | JP |
Dutch (the Netherlands) | NL |
Polish (Poland) | PL |
Portuguese (Brazil) | PT |
Portuguese (Portugal) | PT |
Russian (Russia) | RU |
lastName
Path: customer.billingDetails.lastName
Buyer's last name.
Format
legalName
Path: customer.billingDetails.legalName
Legal name.
Format
phoneNumber
Path: customer.billingDetails.phoneNumber
Buyer's phone number.
Accepts all formats:
Examples:
- 0123456789
- +33123456789
- 0033123456789
- (00.571) 638.14.00
- 40 41 42 42
Format
state
Path: customer.billingDetails.state
Region (state) of the billing address. It is recommended, but not mandatory, to pass the value in ISO-3166-2.
Format
streetNumber
Path: customer.billingDetails.streetNumber
Street number of the billing address.
Accepted characters:
- Alphabetical characters (from "A" to "Z" and from "a" to "z")
- Space
Format
title
Path: customer.billingDetails.title
Buyer's title.
Examples:
- Mr
- Ms.
- Mrs
Format
zipCode
Path: customer.billingDetails.zipCode
Zip code of the billing address.
Format
address
Path: customer.shippingDetails.address
Shipping address.
Warning: the characters > and < are not authorized.
Format
address2
Path: customer.shippingDetails.address2
Second line of the shipping address.
Warning: the characters > and < are not authorized.
Format
category
Path: customer.shippingDetails.category
Buyer type.
Format
Possible values
Values | Description |
---|---|
PRIVATE | Individual buyer type. |
COMPANY | Company buyer type. |
city
Path: customer.shippingDetails.city
Shipping city.
Format
country
Path: customer.shippingDetails.country
Shipping country (in uppercase, in accordance with the ISO 3166-1 alpha-2 country codes).
Format
Possible values
Examples of possible values:
Country | Code |
---|---|
AUSTRIA | AT |
BRAZIL | BR |
CORSICA | FR |
IVORY COAST | CI |
FRANCE | FR |
GUADELOUPE | GP |
INDIA | IN |
MARTINIQUE | MQ |
NEW CALEDONIA | NC |
ST-PIERRE-ET-MIQUELON | PM |
FRENCH POLYNESIA | PF |
deliveryCompanyName
Path: customer.shippingDetails.deliveryCompanyName
Name of the delivery company.
Format
district
Path: customer.shippingDetails.district
District of the billing address.
Format
firstName
Path: customer.shippingDetails.firstName
First name of the recipient.
Format
identityCode
Path: customer.shippingDetails.identityCode
National identifier. Allows to identify each citizen within a country.
Format
lastName
Path: customer.shippingDetails.lastName
Buyer's last name.
Format
legalName
Path: customer.shippingDetails.legalName
Legal name in case of shipping to a company.
Format
phoneNumber
Path: customer.shippingDetails.phoneNumber
Buyer's phone number.
Accepts all formats:
Examples:
- 0123456789
- +33123456789
- 0033123456789
- (00.571) 638.14.00
- 40 41 42 42
Format
shippingMethod
Path: customer.shippingDetails.shippingMethod
Shipping mode.
Format
Possible values
value | Description |
---|---|
RECLAIM_IN_SHOP | Item pickup at the shop. |
RELAY_POINT | Use of a third-party pickup network (Kiala, Alveol, etc.). |
RECLAIM_IN_STATION | Pickup at an airport, a train station or a travel agency. |
PACKAGE_DELIVERY_COMPANY | Shipping by the transporter (Colissimo, UPS, etc.). |
ETICKET | Issue of an electronic ticket, online download of the product. |
CARD_HOLDER_ADDRESS | Delivery to the buyer. Reserved for future use. |
VERIFIED_ADDRESS | Delivery to a verified address.Reserved for future use. |
NOT_VERIFIED_ADDRESS | Delivery to a non-verified address.Reserved for future use. |
SHIP_TO_STORE | In-store pickup.Reserved for future use. |
DIGITAL_GOOD | Digital delivery.Reserved for future use. |
ETRAVEL_OR_ETICKET | E-ticket.Reserved for future use. |
OTHER | Other: Reserved for future use. |
PICKUP_POINT | Pickup point delivery.Reserved for future use. |
AUTOMATED_PICKUP_POINT | Pickup at an automatic pickup point.Reserved for future use. |
shippingSpeed
Path: customer.shippingDetails.shippingSpeed
Shipping delay.
Format
Possible values
Examples of possible values:
value | Description |
---|---|
STANDARD | Standard shipping. |
EXPRESS | Express shipping (in less than 24h). |
PRIORITY | Priority shipping (Click & Collect). |
state
Path: customer.shippingDetails.state
Region of the billing address.
Format
streetNumber
Path: customer.shippingDetails.streetNumber
Street number of the delivery address.
Accepted characters:
- Alphabetical characters (from "A" to "Z" and from "a" to "z")
- Space
Format
zipCode
Path: customer.shippingDetails.zipCode
Zip code of the billing address.
Format
insuranceAmount
Path: customer.shoppingCart.insuranceAmount
Insurance amount for the entire order, expressed in the smallest monetary unit (cent for euro).
Example: 30050 for EUR 300.50.
Format
shippingAmount
Path: customer.shoppingCart.shippingAmount
Amount of delivery fees for the entire order, expressed in its smallest monetary unit (cent for euro).
Example: 30050 for EUR 300.50.
Format
taxAmount
Path: customer.shoppingCart.taxAmount
Amount of taxes for the entire order expressed in the smallest monetary unit (cent for euro).
Example: 30050 for EUR 300.50.
Format
cartItemInfo
Path: customer.shoppingCart.cartItemInfo
cardItemInfo is a list that contains Customer/ShoppingCartItemInfo objects.
It allows you to describe each item in the cart.
Format
productAmount
Path: customer.shoppingCart.cartItemInfo.productAmount
Amount of the product expressed in the smallest currency unit (cent for euro).
Example: 30050 for EUR 300.50.
Format
productLabel
Path: customer.shoppingCart.cartItemInfo.productLabel
Product name.
Format
productQty
Path: customer.shoppingCart.cartItemInfo.productQty
Product quantity.
Format
productRef
Path: customer.shoppingCart.cartItemInfo.productRef
Product reference.
Format
productType
Path: customer.shoppingCart.cartItemInfo.productType
Product type.
Possible values
value | Description |
---|---|
FOOD_AND_GROCERY | Food and grocery |
AUTOMOTIVE | Cars / Moto |
ENTERTAINMENT | Entertainment / Culture |
HOME_AND_GARDEN | Home and gardening |
HOME_APPLIANCE | Household appliances |
AUCTION_AND_GROUP_BUYING | Auctions and group purchasing |
FLOWERS_AND_GIFTS | Flowers and presents |
COMPUTER_AND_SOFTWARE | Computers and software |
HEALTH_AND_BEAUTY | Health and beauty |
SERVICE_FOR_INDIVIDUAL | Services for individuals |
SERVICE_FOR_BUSINESS | Services for companies |
SPORTS | Sports |
CLOTHING_AND_ACCESSORIES | Clothes and accessories |
TRAVEL | Travel |
HOME_AUDIO_PHOTO_VIDEO | Sound, image and video |
TELEPHONY | Telephony |
Format
productVat
Path: customer.shoppingCart.cartItemInfo.productVat
Product type.
Tax fee amount (expressed in the smallest currency unit).
Possible values
value | Description |
---|---|
integer | Transaction amount. Its value must be a positive integer (e.g.: 1234 for 12.34 EUR). |
Decimal number, lower than 100 | Percentage applied to the amount. Examples: 20.0 or 19.6532 |
To display a percentage applied to the payment amount for the product in question, the value should have maximum 4 digits after the decimal point. The decimal separator is mandatory for displaying a percentage. The decimal separator is represented by the "." symbol.
Format
paymentSource
Path: transactionOptions.cardOptions.paymentSource
Payment source.
Format
Possible values
The possible values are:
value | Description |
---|---|
EC | E-Commerce: the data of the means of payment are entered by the buyer. This value allows a strong authentication during the payment. |
MOTO | MAIL OR TELEPHONE ORDER: entry by an operator.The payment information is sent by mail or e-mail. Requires a VAD contract. |
CC | Call Center: payment made through a call center. Requires a VAD contract. |
OTHER | Other sales channel.Returned output value for payments made via the |
Absent ou null | The default value is "EC". |
mid
Path: transactionOptions.cardOptions.mid
Merchant ID number. If this field is populated, make sure you use the appropriate MID depending on the card scheme.
Format
manualValidation
Path: transactionOptions.cardOptions.manualValidation
Transaction validation mode.
Format
Possible values
The possible values are:
value | Description |
---|---|
NO | Automatic validation by the payment gateway. |
YES | Manual validation by the Merchant. |
null | Default configuration of the selected shop (configurable in the |
captureDelay
Path: transactionOptions.cardOptions.captureDelay
Delay to be applied to the capture date.
Description
Indicates the delay (in days) before the capture.
If this parameter is not passed, then the default value set in the
It can be set in the
If the capture delay is higher than 365 days in the payment request, it will be automatically reset to 365 days.
Format
firstInstallmentDelay
Path: transactionOptions.cardOptions.firstInstallmentDelay
Number of deferred months to be applied to the first installment of payment in installments. Field specific to acquirers in Latin America.
Format
installmentNumber
Path: transactionOptions.cardOptions.installmentNumber
Number of installments.
Format
retry
Path: transactionOptions.cardOptions.retry
Number of new attempts available in case the payment is rejected (3 by default).
Format
debitCreditSelector
Path: transactionOptions.cardOptions.debitCreditSelector
This field is specific to Brazil for multiplo card management.
"Multiplo" cards are payment cards (Elo, Visa or MasterCard) that allow to pay using:
- Either immediate debit: the amount is debited immediately, and the merchant is credited on D+1.
- or in credit: the debit is deferred and the amount can be debited in one or more installments. The merchant is credited later with all or only part of the total amount.
This field allows you to force the use of the card in debit or credit mode.
Possible values
Values | Description |
---|---|
DEBIT | Using the "debit" function of the card. |
CREDIT | Using the "credit" function of the card. |
Format
taxAmount
Amount of taxes for the entire order expressed in the smallest monetary unit (cent for euro).
Example: 30050 for EUR 300.50.
Format
taxRate
Used by some payment methods in Latin America. Allows you to transmit the tax rate applied to the entire order. The value must be the percentage to apply (21 for 21%).
Format
useCase
Specify the desired use case.
Possible value
Value to be entered for multiple payment on shipment:
value | Description |
---|---|
SHIPMENT_MULTIPLE_AUTHORISATION | Use case "Payment on shipment multiple authorizations". |
Format
overridePaymentCinematic
Allows you to change the capture mode. Specific to Latin American purchasers. This feature is not available in Colombia.
Possible values:
value | Description |
---|---|
IMMEDIATE_CAPTURE | Immediate capture scenario: the capture is triggered by the acquirer on the day of payment. |
DELAYED_CAPTURE | Deferred capture process: the capture is triggered by the payment gateway, always before the authorization request expiry. |
Format
formTokenVersion
formTokenVersion defines the version of the formToken returned by the Web Service.
This parameter is used for mobile SDK. It allows to make sure that the version of the returned formToken is still in line with the mobile application deployed on the buyer's phone.
The default value is 4.
Format
companyType
Path: subMerchantDetails.companyType
Company type of the sub-merchant.Transmitted by the payment facilitator.
Different rules may apply depending on the acquirer. This field is often used for specifying the type of Legal Number
of the buyer.
Format
legalNumber
Path: subMerchantDetails.legalNumber
Legal number of sub-merchant according to field companyType
. Transmitted by the payment facilitator.
Format
name
Path: subMerchantDetails.name
Business name of the sub-merchant.Transmitted by the payment facilitator.
Format
url
Path: subMerchantDetails.url
URL of the sub-merchant.Transmitted by the payment facilitator.
Format
phoneNumber
Path: subMerchantDetails.phoneNumber
Telephone number of the sub-merchant.Transmitted by the payment facilitator.
Format
address1
Path: subMerchantDetails.address1
Address of the sub-merchant.Transmitted by the payment facilitator.
Format
address2
Path: subMerchantDetails.address2
Addition of the sub-merchant's address. Transmitted by the payment facilitator.
Format
zip
Path: subMerchantDetails.zip
Zip code of the sub-merchant.Transmitted by the payment facilitator.
Format
city
Path: subMerchantDetails.city
City of the sub-merchant.Transmitted by the payment facilitator.
Format
country
Path: subMerchantDetails.country
Country code of the sub-merchant address (ISO 3166 alpha-2 standard). Transmitted by the payment facilitator.
Format
mcc
Path: subMerchantDetails.mcc
MCC code of the sub-merchant.Transmitted by the payment facilitator.
Format
mid
Path: subMerchantDetails.mid
Contract number (MID) of the sub-merchant.Transmitted by the payment facilitator.
Format
softDescriptor
Path: subMerchantDetails.softDescriptor
Label (Soft-descriptor) of the sub-merchant that appears on the buyer's bank statement. Transmitted by the payment facilitator.
Format
state
Path: subMerchantDetails.state
Region of the sub-merchant's address. Transmitted by the payment facilitator.
Format
facilitatorId
Path: subMerchantDetails.facilitatorId
Payment Facilitator ID. Transmitted by the payment facilitator.
Format
Response reference
Several responses are possible, depending on the context:
Response | Context |
---|---|
Payment | Object containing the generated transaction. This object is directly returned during a single payment by token. |
Charge/PaymentForm | Object containing a hash that should be used with the embedded form to create a new transaction. |
See the reference of each response for more information.