Web service Charge/CreateToken
L’opération Charge/CreateToken est un Web Service de l’API REST.
Il permet de créer un token à partir d'un moyen de paiement.
Créer un token à partir d'une nouvelle carte
Vous pouvez créer un token à partir d'une carte avec formulaire embarqué.
Dans ce cas, le Web Service Charge/CreateToken retournera un formToken (token de formulaire) qu'il faudra ensuite utiliser avec notre formulaire JavaScript.
Pour plus de détails, rendez-vous ici: Démarrer: Créer un token.
Une transaction de vérification est créée en même temps que le token. Le token se trouvera à l'intérieur de l'objet Transaction, dans le paramètre paymentMethodToken. Pour consulter la documentation de référence de la réponse qui contient le formToken, c'est par ici: Charge/PaymentForm
Si vous êtes certifiés PCI DSS
Si vous êtes certifiés PCI DSS, vous pouvez directement transmettre les informations sensibles au Web Service (comme le numéro de carte). Pour plus d'informations, rendez-vous sur notre page dédiée à l'utilisation du Web Service REST PCI/Charge/CreateToken en mode PCI DSS.
Remarque sur les données de l'acheteur associées au token
Les informations de facturation (objet billingDetails) enregistrées lors de la création de l'alias sont automatiquement reportées sur les transactions réalisées avec cet alias.
Cependant, si le marchand transmet de nouvelles données dans la requête Charge/CreatePayment, alors ce sont les données de la requête qui sont utilisées pour la transaction. Dans ce cas, l'alias n'est pas mis à jour.
Si le marchand souhaite mettre à jour les données de l'acheteur, il doit appeler le Web Service Token/Update.
Paramètres de la requête
Le Web Service REST Charge/CreateToken supporte les paramètres suivants:
contrib
Nom de la solution e-commerce utilisée sur le site marchand ainsi que son numéro de version.
Format
currency
Devise du paiement. Code alphabétique en majuscule selon la norme ISO 4217 alpha-3.
Exemple: "EUR" pour l'euro.
Format
Valeurs possibles
Les valeurs possibles sont les suivantes:
Devise | CODIFICATION ISO 4217 | Unité fractionnaire |
---|---|---|
Dollar australien (036) | AUD | 2 |
Real du Brésil (986) | BRL | 2 |
Dollar canadien (124) | CAD | 2 |
Franc suisse (756) | CHF | 2 |
Renminbi yuan chinois (156) | CNY | 1 |
Couronne tchèque (203) | CZK | 2 |
Couronne danoise (208) | DKK | 2 |
Euro (978) | EUR | 2 |
Livre Sterling (826) | GBP | 2 |
Dollar de Hong Kong (344) | HKD | 2 |
Forint hongrois (348) | HUF | 2 |
Roupie Indienne (356) | INR | 2 |
Roupie indonésienne (360) | IDR | 2 |
Yen (392) | JPY | 0 |
Riel Cambodgien (116) | KHR | 0 |
Won Sud Coréen (410) | KRW | 0 |
Dinar Koweïtien (414) | KWD | 3 |
Dirham Marocain (504) | MAD | 2 |
Peso mexicain (484) | MXN | 2 |
Ringgit malais (458) | MYR | 2 |
Dollar néo-zélandais (554) | NZD | 2 |
Couronne norvégienne (578) | NOK | 2 |
Peso philippin (608) | PHP | 2 |
Zloty polonais (985) | PLN | 2 |
Leu Roumain (946) | RON | 2 |
Rouble russe (643) | RUB | 2 |
Dollar de Singapour (702) | SGD | 2 |
Couronne suédoise (752) | SEK | 2 |
Baht thailandais (764) | THB | 2 |
Dinar Tunisien (788) | TND | 3 |
Lire turque (949) | TRY | 2 |
Nouveau dollar de Taïwan (901) | TWD | 2 |
Dollar des États-Unis (840) | USD | 2 |
Rand sud-africain (710) | ZAR | 2 |
ipnTargetUrl
Vous pouvez surcharger l’URL de notification instantanée (également appelée IPN) dans le formulaire dans le cas où vous utilisez une seule boutique pour différents canaux de ventes, différentes typologies de paiement, différentes langues etc...
Format
orderId
Référence de la commande définie par le marchand. Ne prend pas en charge les caractères UTF-8.
Format
metadata
Valeurs personnalisées rattachées à la transaction, au format json.
Exemple d'appel
Par exemple, pour passer une valeur personnalisée, ajoutez à votre requête :
{ "metadata": { "MyValueKey": "1234" } }
Cette valeur sera retournée dans l'objet transaction nouvellement créé.
Vous pouvez aussi utiliser les metadatas "orderInfo", "orderInfo2" et "orderInfo3" pour transmettre des informations additionnelles sur la commande.
Ces données seront ensuite visibles dans l'onglet Extra du détail de la transaction depuis votre
Format
fingerPrintId
Ce champ est utilisé par les marchands qui implémentent l'analyseur de risque dans leur page de paiement. Permet de transmettre l'identifiant de session (ou fingerPrint Id) à la plateforme de paiement pour finaliser l'analyse de risque.
Les analyseurs supportés sont :
- NOTO
- Cybersource
- MonitorPlus
- ClearSale
Peut contenir des majuscules, des minuscules, des chiffres ou des tirets ([A-Z][a-z], 0-9, _, -).
Format
strongAuthentication
strongAuthentication permet d'indiquer la préférence du marchand concernant l'authentification forte de l'acheteur.
Avec 3DS2, il n'est pas possible de désactiver le 3DS. Le marchand doit demander une exemption dans sa requête de paiement (on parle de "préférence du marchand").
Dans ce cas, si la demande est acceptée par l'émetteur, l'acheteur n'aura pas à s'authentifier (pas de challenge) mais le marchand assurera la responsabilité en cas d'impayé (pas de transfert de responsabilité à l'émetteur).
Dans tous les cas, la banque émettrice détermine seule si l'interaction avec l'acheteur (le challenge) est nécessaire.
Dans le cadre de l'application de la DSP2, une authentification forte est requise lors de l'enregistrement d'une carte, quelle que soit la préférence du marchand.
Valeurs possibles
Les valeurs possibles sont les suivantes:
Valeur | Description 3DS2 |
---|---|
ENABLED | Dépréciée. Cette valeur sera interprétée comme CHALLENGE_REQUESTED. |
DISABLED | Permet de demander une authentification sans interaction (frictionless). Nécessite l'option "Frictionless 3DS2".
Si la boutique ne dispose pas de l'option "Frictionless 3DS2", le choix de la préférence est délégué à l'émetteur de la carte ( No Preference). |
CHALLENGE_REQUESTED | Permet de demander une authentification forte pour la transaction. |
CHALLENGE_MANDATE | Permet d'indiquer que pour des raisons règlementaires, une authentification forte est requise pour la transaction. |
NO_PREFERENCE | Permet d'indiquer au DS que le marchand n'a pas de préférence. Si l'émetteur décide de réaliser une authentification sans interaction (frictionless), le paiement sera garanti. |
AUTO | Le choix de la préférence est délégué à l'émetteur de la carte (No Preference). |
Format
customer.reference
Identifiant de l’acheteur chez le marchand.
Format
customer.email
Adresse e-mail de l'acheteur.
Format
customer.ipAddress
Adresse IP de l'acheteur.
Format
address
Chemin: customer.billingDetails.address
Adresse de facturation.
Attention : Les caractères > et < ne sont pas autorisés.
Format
address2
Chemin: customer.billingDetails.address2
Informations complémentaires sur l'adresse de facturation.
Attention : Les caractères > et < ne sont pas autorisés.
Format
category
Chemin: customer.billingDetails.category
Type de client.
Format
Valeurs possibles
valeurs | Description |
---|---|
PRIVATE | Client de type Particulier |
COMPANY | Client de type Société |
cellPhoneNumber
Chemin: customer.billingDetails.cellPhoneNumber
Téléphone portable de l'acheteur.
Accepte tous les formats:
Exemples:
- 0623456789
- +33623456789
- 0033623456789
- (+34) 824 65 43 21
- 87 77 12 34
Format
city
Chemin: customer.billingDetails.city
Ville de facturation.
Format
country
Chemin: customer.billingDetails.country
Pays de l'acheteur (en majuscule, suivant la norme ISO 3166-1 alpha-2).
Format
Valeurs possibles
Exemples de valeurs possibles :
Pays | Code |
---|---|
AUTRICHE | AT |
BRESIL | BR |
CORSE | FR |
COTE D'IVOIRE | CI |
FRANCE | FR |
GUADELOUPE | GP |
INDE | IN |
MARTINIQUE | MQ |
NOUVELLE-CALÉDONIE | NC |
ST-PIERRE-ET-MIQUELON | PM |
POLYNESIE FRANCAISE | PF |
district
Chemin: customer.billingDetails.district
Quartier de l'adresse de facturation.
Format
firstName
Chemin: customer.billingDetails.firstName
Prénom de l'acheteur.
Format
identityCode
Chemin: customer.billingDetails.identityCode
Identifiant national. Permet d'identifier de façon unique chaque citoyen au sein d'un pays.
Format
identityType
Chemin: customer.billingDetails.identityType
Type de pièce d'identité.
Format
language
Chemin: customer.billingDetails.language
Code de la langue de l'acheteur, selon la norme norme ISO 639-1.
Permet de spécifier la langue dans laquelle sont envoyés les e-mails de confirmation de paiement.
Format
Valeurs possibles
Exemples de valeurs possibles:
Langue | Code |
---|---|
Allemand (Allemagne) | DE |
Anglais (Royaume Uni) | EN |
Anglais (Etats-Unis ) | EN |
Chinois (Traditionnel) | ZH |
Espagnol (Espagne) | ES |
Espagnol (Chili) | ES |
Français (France) | FR |
Italien (Italie) | IT |
Japonais (Japon) | JP |
Néerlandais (Pays-Bas) | NL |
Polonais (Pologne) | PL |
Portugais (Brésil) | PT |
Portugais (Portugal) | PT |
Russe (Russie) | RU |
lastName
Chemin: customer.billingDetails.lastName
Nom de l'acheteur.
Format
legalName
Chemin: customer.billingDetails.legalName
Raison sociale.
Format
phoneNumber
Chemin: customer.billingDetails.phoneNumber
Numéro de téléphone de l'acheteur.
Accepte tous les formats:
Exemples:
- 0123456789
- +33123456789
- 0033123456789
- (00.571) 638.14.00
- 40 41 42 42
Format
state
Chemin: customer.billingDetails.state
Région (état) de l'adresse de facturation. Il est recommandé mais non obligatoire de passer la valeur en ISO-3166-2.
Format
streetNumber
Chemin: customer.billingDetails.streetNumber
Numéro de rue de l'adresse de facturation.
Caractères acceptés:
- Caractères alphabétiques (de "A" à "Z" et de "a" à "z")
- Espace
Format
title
Chemin: customer.billingDetails.title
Civilité de l’acheteur.
Exemples:
- Mr
- M.
- Mme
Format
zipCode
Chemin: customer.billingDetails.zipCode
Code postal de l'adresse de facturation.
Format
insuranceAmount
Chemin: customer.shoppingCart.insuranceAmount
Montant de l’assurance pour l’ensemble de la commande exprimé dans sa plus petite unité monétaire (le centime pour l'euro).
Exemple: 30050 pour 300,50 EUR.
Format
shippingAmount
Chemin: customer.shoppingCart.shippingAmount
Montant des frais de livraison pour l’ensemble de la commande exprimé dans sa plus petite unité monétaire (le centime pour l'euro).
Exemple: 30050 pour 300,50 EUR.
Format
taxAmount
Chemin: customer.shoppingCart.taxAmount
Montant des taxes pour l’ensemble de la commande exprimé dans sa plus petite unité monétaire (le centime pour l'euro).
Exemple: 30050 pour 300,50 EUR.
Format
cartItemInfo
Chemin: customer.shoppingCart.cartItemInfo
cardItemInfo est une liste qui contient des objets Customer/ShoppingCartItemInfo.
Il permet de décrire chaque article du panier.
Format
productAmount
Chemin: customer.shoppingCart.cartItemInfo.productAmount
Montant du produit exprimé dans sa plus petite unité monétaire (le centime pour l'euro).
Exemple: 30050 pour 300,50 EUR.
Format
productLabel
Chemin: customer.shoppingCart.cartItemInfo.productLabel
Nom du produit.
Format
productQty
Chemin: customer.shoppingCart.cartItemInfo.productQty
Quantité de produit.
Format
productRef
Chemin: customer.shoppingCart.cartItemInfo.productRef
Référence produit.
Format
productType
Chemin: customer.shoppingCart.cartItemInfo.productType
Type du produit.
Valeurs possibles
Valeur | Description |
---|---|
FOOD_AND_GROCERY | Produits alimentaires et d'épicerie |
AUTOMOTIVE | Automobile / Moto |
ENTERTAINMENT | Divertissement / Culture |
HOME_AND_GARDEN | Maison et jardin |
HOME_APPLIANCE | Equipement de la maison |
AUCTION_AND_GROUP_BUYING | Ventes aux enchères et achats groupés |
FLOWERS_AND_GIFTS | Fleurs et cadeaux |
COMPUTER_AND_SOFTWARE | Ordinateurs et logiciels |
HEALTH_AND_BEAUTY | Santé et beauté |
SERVICE_FOR_INDIVIDUAL | Services à la personne |
SERVICE_FOR_BUSINESS | Services aux entreprises |
SPORTS | Sports |
CLOTHING_AND_ACCESSORIES | Vêtements et accessoires |
TRAVEL | Voyage |
HOME_AUDIO_PHOTO_VIDEO | Son, image et vidéo |
TELEPHONY | Téléphonie |
Format
productVat
Chemin: customer.shoppingCart.cartItemInfo.productVat
Type du produit.
Montant de la taxe sur le produit (dans la plus petite unité de la devise).
Valeurs possibles
Valeur | Description |
---|---|
Un nombre entier | Montant de la transaction. Sa valeur doit être un entier positif (ex: 1234 pour 12,34 EUR). |
Un nombre décimal, inférieur à 100 | Pourcentage appliqué sur le montant. Exemples : 20.0 ou 19.6532 |
Pour exprimer un pourcentage appliqué sur le montant du produit concerné, la valeur doit avoir au maximum 4 chiffres après la virgule. La décimale est obligatoire pour exprimer un pourcentage. La décimale est marquée par le caractère ".".
Format
mid
Chemin: transactionOptions.cardOptions.mid
Numéro de contrat commerçant. Si ce champ est renseigné, veillez à utiliser le bon contrat en fonction du réseau de la carte.
Un contrat CB ne peut être utilisé pour une transaction AMEX.
Format
paymentSource
Chemin: transactionOptions.cardOptions.paymentSource
Origine du paiement.
Format
Valeurs possibles
Les valeurs possibles sont les suivantes:
Valeur | Description |
---|---|
EC | E-Commerce: les données du moyen de paiement sont saisies par l'acheteur. Cette valeur permet d'avoir une authentification forte lors du paiement. |
MOTO | MAIL OR TELEPHONE ORDER: Saisie réalisée par un opérateur. Les informations du moyen de paiement sont transmises par courrier ou par e-mail. Nécessite un contrat de type VAD. |
CC | Call Center: paiement effectué via un centre d’appel. Nécessite un contrat de type VAD. |
OTHER | Autre canal de vente. Valeur de sortie retournée pour les paiements réalisés depuis le |
Absent ou null | La valeur par défaut est "EC". |
retry
Chemin: transactionOptions.cardOptions.retry
Nombre de nouvelles tentatives disponibles en cas de refus de paiement (3 par défaut).
Format
companyType
Chemin: subMerchantDetails.companyType
Type de société du sous-marchand. Transmis par le facilitateur de paiement.
Des règles différentes peuvent s’appliquer selon l’acquéreur.
Ce champ sert souvent à préciser le type de Legal Number
de l'acheteur.
Format
legalNumber
Chemin: subMerchantDetails.legalNumber
Número légal du sous-marchand en fonction du champ companyType
. Transmis par le facilitateur de paiement.
Format
name
Chemin: subMerchantDetails.name
Raison sociale du sous-marchand. Transmis par le facilitateur de paiement.
Format
url
Chemin: subMerchantDetails.url
URL du sous-marchand. Transmis par le facilitateur de paiement.
Format
phoneNumber
Chemin: subMerchantDetails.phoneNumber
Numéro de téléphone du sous-marchand. Transmis par le facilitateur de paiement.
Format
address1
Chemin: subMerchantDetails.address1
Adresse du sous-marchand. Transmis par le facilitateur de paiement.
Format
address2
Chemin: subMerchantDetails.address2
Complément de l'adresse du sous-marchand. Transmis par le facilitateur de paiement.
Format
zip
Chemin: subMerchantDetails.zip
Code postal du sous-marchand. Transmis par le facilitateur de paiement.
Format
city
Chemin: subMerchantDetails.city
Ville du sous-marchand. Transmis par le facilitateur de paiement.
Format
country
Chemin: subMerchantDetails.country
Code pays de l'adresse du sous-marchand (norme ISO 3166 alpha-2). Transmis par le facilitateur de paiement.
Format
mcc
Chemin: subMerchantDetails.mcc
Code MCC du sous-marchand. Transmis par le facilitateur de paiement.
Format
mid
Chemin: subMerchantDetails.mid
Numéro de contrat (MID) du sous-marchand. Transmis par le facilitateur de paiement.
Format
softDescriptor
Chemin: subMerchantDetails.softDescriptor
Libellé (soft-descriptor) du sous-marchand qui apparaît sur le relevé d'opérations bancaires de l'acheteur. Transmis par le facilitateur de paiement.
Format
state
Chemin: subMerchantDetails.state
Région de l'adresse du sous-marchand. Transmis par le facilitateur de paiement.
Format
facilitatorId
Chemin: subMerchantDetails.facilitatorId
Identifiant du facilitateur de paiement. Transmis par le facilitateur de paiement.
Format
formTokenVersion
formTokenVersion définit la version du formToken renvoyé par le web service.
Ce paramètre est utilisé dans le cadre du SDK mobile. Il permet de s'assurer que la version du formToken retournée est toujours en phase avec l'application mobile déployée sur le téléphone de l'acheteur.
La valeur par défaut est 4.
Format
Référence de la réponse
Réponse | Contexte |
---|---|
Charge/PaymentForm | Objet contenant un hash à utiliser avec le formulaire embarqué pour créer une nouvelle transaction. |
Voir la référence de chaque réponse pour plus de détails.