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
Si le statut a pour valeur DISABLED, alors le champ exemption devient obligatoire.
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
- Montant - Devise
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 (statut
SUCCESS
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
- Montant - Devise
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
- Montant - Devise
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)