Guide d'intégration
Les paramètres d'appel au service PCI/Charge/CreateToken dépendent du protocole d'authentification utilisé ainsi que du résultat de l'authentification.
Cette section décrit les paramètres à transmettre pour chaque protocole supporté.
Authentification 3D Secure v2
Contenu de la requête :
NIVEAU | NOM | DESCRIPTION | REQUIS |
---|---|---|---|
1 | currency | Code (ISO 4217 alpha3) de la devise du paiement. Ex: "EUR" pour l'euro. | Oui |
1 | orderId | Référence de la commande. | Non |
1 | customer | Objet contenant les données de l'acheteur. | Oui |
2 | Adresse e-mail de l'acheteur. | Oui | |
2 | reference | Référence de l'acheteur sur le site marchand. Recommandé si vous souhaitez utiliser le wallet acheteur. | Non |
1 | paymentForms | Objet contenant les données de la carte. | Oui |
2 | paymentMethodType | Type du moyen de paiement. Doit être valorisé à CARD. | Oui |
2 | pan | Numéro de carte. | Oui |
2 | expiryMonth | Mois d'expiration de la carte. | Oui |
2 | expiryYear | Année d'expiration de la carte. | Oui |
2 | securityCode | Code de sécurité de la carte (CVV ou 4DBC). | Non |
1 | authenticationDetails | Objet contenant les données d'authentification du porteur. | Oui |
2 | protocol | Objet décrivant le protocole d'authentification utilisé. | Oui |
3 | name | Nom du protocole d'authentification. Doit être valorisé à THREEDS. | Oui |
3 | version | Version du protocole d'authentification. Doit être valorisé à 2, 2.1.0 ou à 2.2.0. | Oui |
3 | directoryServer | Nom du Directory Server (DS) utilisé lors de
l'authentification.
Valeurs possibles :
| Oui |
3 | challengePreference | Préférence 3DS transmise au DS lors de l'authentification du porteur. Obligatoire si authenticationType est valorisé à FRICTIONLESS. | Voir description |
2 | status | Statut de l'authentification.
Valeurs possibles :
| Oui |
2 | authenticationType | Type d'authentification. Valeurs possibles :
| Non |
2 | authenticationValue | Référence générée par l'émetteur qui permet de valider
l'intégrité des données de la transaction. En fonction du DS,
correspond soit au CAVV pour VISA, soit à l'AAV pour Mastercard, ou
à l'AEVV pour AMEX Safekey. Obligatoire lorsque status est valorisé à SUCCESS ou ATTEMPT. Exemple : +kAr/o8S0DxgGYkz7QQHZCw8V5k= | Voir description |
2 | commerceIndicator | Indicateur de commerce électronique (ECI). Valeur
retournée par l'ACS après l'authentification. La valeur de l'ECI
dépend du statut de l’authentification et du type de carte. Obligatoire lorsque status est valorisé à SUCCESS ou ATTEMPT. Ex: 05 | Voir description |
2 | dsTransID | Identifiant unique de la transaction généré par le DS. Obligatoire lorsque status est valorisé à SUCCESS ou ATTEMPT. Exemple : d6706a0d-c48d-4cf4-a1d2-d4a401a3143e | Voir description |
2 | exemption | Exemption appliquée. Obligatoire quand authenticationType est valorisé à FRICTIONLESS. Voir chapitre Motif de débrayage et exemptions. | Voir description |
2 | requestorName | Nom du marchand utilisé lors de l'authentification du porteur. Obligatoire si directoryServer est valorisé à CB. | Voir description |
2 | acsTransID | Identifiant de transaction unique généré par l'ACS. Obligatoire lorsque status est valorisé à SUCCESS ou ATTEMPT et que directoryServer est valorisé à CB. Ex: d727ebfe-de4c-4682-85fa-e60ca00a9cff | Voir description |
2 | authValueAlgorithm | Algorithme de vérification de l’authentification du porteur.
Obligatoire lorsque status est valorisé à SUCCESS ou ATTEMPT et que directoryServer est valorisé à CB. Valeurs possibles :
| Voir description |
2 | dsScore | Scoring d'authentification retourné par le DS CB. Obligatoire lorsque status est valorisé à SUCCESS ou ATTEMPT et que directoryServer est valorisé à CB. Exemple : 31 | Voir description |
2 | challengeCancelationIndicator | Indicateur d'annulation de challenge reçu dans le message RReq. Valeur retournée par le DS en cas d'annulation de l'authentification. Exemple : 01 | Non |
2 | transactionStatusReason | Raison de l'échec d'authentification retournée par le DS en cas d'échec d'authentification. Exemple : 82 | Non |
Retrouvez la description des champs dans notre playground.
Données de test
pan : | 4970100000000022 | directoryServer : | CB |
expiryMonth / expiryYear : | Au choix | authValueAlgorithm : | 2 |
securityCode : | Au choix | authenticationValue : | +kAr/o8S0DxgGYkz7QQHZCw8V5k= |
challengePreference : | NO_CHALLENGE_REQUESTED | dsTransID : | d6706a0d-c48d-4cf4-a1d2-d4a401a3143e |
authenticationType : | FRICTIONLESS | acsTransID : | d727ebfe-de4c-4682-85fa-e60ca00a9cff |
commerceIndicator : | 05 | exemption : | LOW_VALUE |
Le résultat du paiement dépend de la valeur de status utilisée.
Exemple de requête
{
"currency": "EUR",
"paymentForms": [
{
"paymentMethodType": "CARD",
"pan": "4970110000001003",
"expiryMonth": "09",
"expiryYear": "27",
"securityCode": "123"
}
],
"customer": {
"email": "sample@example.com",
"reference":"myCustomerRef-123456"
},
"authenticationDetails":{
"protocol":{
"name":"THREEDS",
"version":"2",
"directoryServer":"CB",
"challengePreference":"NO_CHALLENGE_REQUESTED"
},
"status":"SUCCESS",
"authenticationType":"FRICTIONLESS",
"commerceIndicator":"05",
"authenticationValue":"+kAr/o8S0DxgGYkz7QQHZCw8V5k=",
"dsTransID":"d6706a0d-c48d-4cf4-a1d2-d4a401a3143e",
"acsTransID":"d727ebfe-de4c-4682-85fa-e60ca00a9cff",
"authValueAlgorithm":"2",
"dsScore":"31",
"exemption":"LOW_VALUE",
"challengeCancelationIndicator": "01",
"transactionStatusReason": "82",
"requestorName":"DEMO STORE"
}
}
Authentification débrayée
Le service permet de créer un token lorsque l'authentification du porteur a été volontairement désactivée, et ce quel que soit le protocole d'authentification.
Dans ce cas, la raison de cette décision doit être précisée en utilisant le champ exemption (Voir chapitre Motif de débrayage et exemptions).
Contenu de la requête :
NIVEAU | NOM | DESCRIPTION | REQUIS |
---|---|---|---|
1 | currency | Code (ISO 4217 alpha3) de la devise du paiement. Ex: "EUR" pour l'euro. | Oui |
1 | orderId | Référence de la commande. | Non |
1 | customer | Objet contenant les données de l'acheteur. | Oui |
2 | Adresse e-mail de l'acheteur. | Oui | |
2 | reference | Référence de l'acheteur sur le site marchand. Recommandé si vous souhaitez utiliser le wallet acheteur. | Non |
1 | paymentForms | Objet contenant les données de la carte. | Oui |
2 | paymentMethodType | Type du moyen de paiement. Doit être valorisé à CARD. | Oui |
2 | pan | Numéro de carte. | Oui |
2 | expiryMonth | Mois d'expiration de la carte. | Oui |
2 | expiryYear | Année d'expiration de la carte. | Oui |
2 | securityCode | Code de sécurité de la carte (CVV ou 4DBC). | Non |
1 | authenticationDetails | Objet contenant les données d'authentification du porteur. | Oui |
2 | status | Statut de l'authentification. Doit être valorisé à DISABLED. | Oui |
2 | exemption | Motif du débrayage. Voir chapitre Motif de débrayage et exemptions. | Oui |
Exemple de requête
{
"currency": "EUR",
"paymentForms": [
{
"paymentMethodType": "CARD",
"pan": "4970100000000022",
"expiryMonth": "09",
"expiryYear": "27",
"securityCode": "123"
}
],
"customer": {
"email": "sample@example.com",
"reference":"myCustomerRef-123456"
},
"authenticationDetails":{
"status":"DISABLED",
"exemption":"OTHER_EXEMPTION"
}
}