Guide d'intégration
Cas d'utilisation
Les paramètres d'appel au service V4.1/PCI/Charge/CreatePayment dépendent du protocole d'authentification utilisé ainsi que du résultat de l'authentification.
Authentification 3D Secure v2
Tester
Testez le Web Service V4.1/PCI/Charge/CreatePayment Retrouvez la description et l'intégralité des champs ci-dessus dans notre playground.
Statut de l'authentification
Selon le résultat de l'authentification, les valeurs possibles du champ status sont les suivantes :
Resultat | Valeur | Description |
---|---|---|
Authentification réussie | SUCCESS | Succès de l'authentification |
ATTEMPT | Preuve de tentative d'authentification quand l'authentification n'est pas disponible | |
Authentification en échec | FAILED | Authentification échouée |
Authentification non réalisée | ENROLLED_UNAVAILABLE | Impossible d'obtenir le statut d'enrôlement de la carte |
NOT_ENROLLED | Carte non enrôlée par l'émetteur | |
UNAVAILABLE | Authentification non terminée (erreur technique, etc.) | |
Authentification débrayée | DISABLED | Authentification débrayée. Le champ exemption devient obligatoire |
Authentification réussie
Si l'authentification réussit, son statut correspond à l'une des valeurs suivantes :
- SUCCESS
- ATTEMPT
Dans ce cas, récupérez ces informations obligatoires pour appeler le Web Service :
</tbody>
Nom | Description | Valeur | |
---|---|---|---|
authenticationDetails.protocol.name | Nom du protocole d'authentification |
| |
authenticationDetails.protocol.version | Numéro de la version |
| |
authenticationDetails.protocol.directoryServer | Nom du Directory Server (DS) utilisé lors de l'authentification. |
| |
authenticationDetails.protocol.ChallengePreference | Préférence 3DS transmise au DS. |
| |
authenticationDetails.status | Résultat de l'authentification |
| |
authenticationDetails.authenticationType | Type d'authentification |
| |
authenticationDetails.authenticationValue | Valeur d'authentification finale. Le nom est différent en fonction du DS. Cette valeur peut s'appeler : CAVV pour VISA; AEVV pour AMEX Safekey ou AAV pour Mastercard. Chaine de caractère encodée en base64 d'une taille de 28 caractères. | Ex: +kAr/o8S0DxgGYkz7QQHZCw8V5k= | |
authenticationDetails.commerceIndicator | Indicateur de commerce électronique (ECI). Valeur retournée par l'ACS après l'authentification, en fonction du statut de l’authentification et du type de carte. | Ex: 05 | |
authenticationDetails.dsTransID | Identifiant unique de la transaction généré par le DS 3DS2. | Ex : d6706a0d-c48d-4cf4-a1d2-d4a401a3143e | |
authenticationDetails.exemption | Exemption appliquée. Requis pour le FRICTIONLESS, valeur du champ `authenticationType` . | Ex: LOW_VALUE Voir : Motif de débrayage et exemptions. | |
authenticationDetails.requestorName | Nom du marchand utilisé lors de l'authentification du porteur. Ce champ concerne uniquement le réseau CB. | Ex: DEMO STORE | |
authenticationDetails.acsTransID | Identifiant de transaction unique généré par l'ACS. Ce champ concerne uniquement le réseau CB. | Ex: d727ebfe-de4c-4682-85fa-e60ca00a9cff | |
authenticationDetails.authValueAlgorithm | Algorithme utilisée pour vérifier de l’authentification du porteur. Ce champ concerne uniquement le réseau CB. |
| |
dsScore | Scoring d'authentification. Ce champ concerne uniquement le réseau CB. | Ex : 31 |
Exemple
Authentification en échec
Si l'authentification est en échec, le statut a pour valeur FAILED.
Le cas échéant, vous pouvez afficher les données de l'échec d'authentification.
Champ | Description | Valeur |
---|---|---|
aauthenticationDetails.status | Résultat de l'authentification | FAILED |
authenticationDetails.challengeCancelationIndicator | Nom du protocole d'authentification. Valeur requise : Indicateur d'annulation de challenge reçu dans le message RReq. Valeur retournée par le DS en cas d'annulation de l'authentification. | Ex: 01 |
authenticationDetails.transactionStatusReason | Raison de l'échec d'authentification retournée par le DS en cas d'échec d'authentification. | Ex: 82 |
Authentification non réalisée
Si l'authentification n'est pas réalisée, son statut correspond à l'une des valeurs suivantes :
- UNAVAILABLE
- NOT_ENROLLED
- ENROLLED_UNAVAILABLE
Si vous souhaitez procéder à la demande d'autorisation, récupérez les informations obligatoires pour appeler le Web Service :
Nom | Description | Valeur | |
---|---|---|---|
authenticationDetails.protocol.name | Nom du protocole d'authentification |
| |
authenticationDetails.protocol.version | Numéro de la version |
| |
authenticationDetails.protocol.directoryServer | Nom du Directory Server (DS) utilisé lors de l'authentification. |
| |
aauthenticationDetails.status | Résultat de l'authentification |
| |
authenticationDetails.exemption | Exemption appliquée. | Ex: TECHNICAL_ERROR ou OUT_OF_SCOPE Voir : Motif de débrayage et exemptions. |
Authentification débrayée
Les informations du protocole d'authentification ne sont pas requises.
Nom | Description | Valeur | |
---|---|---|---|
authenticationDetails.status | Résultat de l'authentification | DISABLED | |
authenticationDetails.exemption | Exemption appliquée. | Ex: TECHNICAL_ERROR ou OUT_OF_SCOPE Voir : Motif de débrayage et exemptions. |
Voir : Authentification débrayée.
Pour le réseau CB
Requête
Champs obligatoires
Données de la carte
- Type du moyen de paiement :
CARDS
- Numéro de la carte :
PAN
- Mois d'expiration
- Année d'expiration
Données d'authentification
- Sur le protocole
- nom :
THREEDS
- numéro de version
- directoryServer : CB
- challengePreference: Ex :
NO_CHALLENGE_REQUESTED
en cas de réussite lors de l'authentification (statutSUCCESS
ouATTEMPT
)
- Données de test
authValueAlgorithm : | 2 | authenticationType : | FRICTIONLESS |
authenticationValue : | +kAr/o8S0DxgGYkz7QQHZCw8V5k= | commerceIndicator : | 05 |
challengePreference : | NO_CHALLENGE_REQUESTED | dsTransID : | d6706a0d-c48d-4cf4-a1d2-d4a401a3143e |
exemption : | LOW_VALUE | acsTransID : | d727ebfe-de4c-4682-85fa-e60ca00a9cff |
requestorName : | DEMO STORE | dsScore : | 31 |
Exemple de requête
{ "amount": "1230", "currency": "EUR", "paymentForms": [ { "paymentMethodType": "CARD", "pan": "4970110000001029", "expiryMonth": "03", "expiryYear": "27", "securityCode": "123" } ], "customer": { "email": "sample@example.com" }, "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", "requestorName":"DEMO STORE" } }
Pour connaître l'intégralité et la description des champs, consultez le playground : V4.1/PCI/Charge/CreatePayment (menu à gauche)
Pour le réseau VISA / Mastercard / AMEX
Requête
Champs obligatoires
Données de la carte
- Type du moyen de paiement :
CARDS
- Numéro de la carte : PAN
- Mois d'expiration
- Année d'expiration
Données d'authentification
- Sur le protocole
- nom :
THREEDS
- numéro de version
- directoryServer : le nom du DS. Ex :
VISA
ouMASTERCARD
ouAMEX
- challengePreference: Ex :
NO_CHALLENGE_REQUESTED
en cas de réussite lors de l'authentification (statutSUCCESS
ouATTEMPT
)
- Données de test
authenticationType : | FRICTIONLESS | dsTransID : | d6706a0d-c48d-4cf4-a1d2-d4a401a3143e |
authenticationValue : | +kAr/o8S0DxgGYkz7QQHZCw8V5k= | commerceIndicator : | 05 |
challengePreference : | NO_CHALLENGE_REQUESTED | exemption : | LOW_VALUE |
Exemple de requête pour VISA
{ "amount": "990", "currency": "EUR", "paymentForms": [ { "paymentMethodType": "CARD", "pan": "4970110000001029", "expiryMonth": "09", "expiryYear": "27", "securityCode": "123" } ], "customer": { "email": "sample@example.com" }, "authenticationDetails":{ "protocol":{ "name":"THREEDS", "version":"2.1.0", "directoryServer":"VISA", "challengePreference":"NO_CHALLENGE_REQUESTED" }, "status":"SUCCESS", "authenticationType":"FRICTIONLESS", "commerceIndicator":"05", "authenticationValue":"+kAr/o8S0DxgGYkz7QQHZCw8V5k=", "dsTransID":"d6706a0d-c48d-4cf4-a1d2-d4a401a3143e", "exemption":"OTHER_EXEMPTION", } }
Pour connaître l'intégralité et la description des champs, consultez le playground : V4.1/PCI/Charge/CreatePayment (menu à gauche)
Authentification débrayée
Le service permet de créer un paiement lorsque l'authentification du porteur a été volontairement désactivée.
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).
Champs obligatoires
Données de la carte
- Type du moyen de paiement :
CARDS
- Numéro de la carte : PAN
- Mois d'expiration
- Année d'expiration
Données d'authentification
- Statut :
DISABLED
- Exemption : Voir : Motif de débrayage et exemptions
Exemple de requête
{ "amount": "1230", "currency": "EUR", "paymentForms": [ { "paymentMethodType": "CARD", "pan": "4970100000000022", "expiryMonth": "09", "expiryYear": "27", "securityCode": "123" } ], "customer": { "email": "sample@example.com" }, "authenticationDetails":{ "status":"DISABLED", "exemption":"OTHER_EXEMPTION" } }
Pour connaître l'intégralité et la description des champs, consultez le playground : V4.1/PCI/Charge/CreatePayment (menu à gauche)