Manuel Utilisateur de la fonction 3DSecure en mode interface Direct de la solution de paiement Payline
Version 1.D
Payline
Le tableau ci-dessous liste les dernières modifications effectuées sur ce document.
Date |
Version |
Modifications |
|---|---|---|
17/10/2009 |
1.A |
Création du document |
24/11/2009 |
1. B |
Ajout de la partie 3DSecure DIRECT |
24/10/2011 |
1.C |
Correction du nom du champ authentication3DSecure |
03/12/2012 |
1.D |
Revue du document |
1. Introduction
1.1. Objet du document
1.2. Public visé
1.3. Documents de Référence
1.4. Contact commercial
2. Principe Général
2.1. Pré-requis bancaire et de connexion 3DSecure
2.2. Pre-requis d'utilisation de la solution de paiement Payline
3. 3DSEcure en mode interface direct en effectuant un paiement sur Payline
3.1. Etape 1 : verifyEnrollment
3.1.1. Envoi des informations
3.1.2. Réception des informations retournées lors de l'authentification :
3.2. Etape 2 : doAuthorization avec les parametres 3DSecure
4. 3DSEcure en mode interface direct avec la possibilité ou pas d'effectuer un paiement sur Payline
4.1. Etape 1 : verifyEnrollment
4.2. Etape 2 : authentification
4.2.1. Envoi des informations
4.2.2. Réception des informations retournées lors de l'authentification
4.3. Etape 3 : doAutorization
5. ANNEXES
5.1. Schéma récapitulatif : paiement 3DSecure
1. Introduction4
1.1. Objet du document4
1.2. Public visé4
1.3. Documents de Référence4
1.4. Contact commercial4
2. Principe General5
2.1. Pré-requis bancaire et de connexion 3DSecure5
2.2. Pre-requis d'utilisation de la solution de paiement Payline5
2.2.1. Exemple6
3. 3DEcure en mode interfact direct en effectuant un paiement sur Payline8
3.1. Etape 1 : verifyEnrollment8
3.1.1. Envoi des informations9
3.1.2. Envoi des informations9
3.2. Etape 2 : doAuthorization avec les parametres 3DSecure10
4. 3DSEcure en mode interface direct avec la possibilité ou pas d'effectuer un paiement sur Payline11
4.1. Etape 1 : appel du web service verifyEnrollment11
4.2. Etape 1 : appel du web service verifyEnrollment13
4.3. Etape 2 : authentification14
4.3.1. Envoi des informations15
4.3.2. Réception des informations retournées lors de l'authentification15
4.4. Visualisation sur le centre d'administration16
4.5. Etape 3 : doAutorization17
4.6. Visualisation du centre d'administration18
5. ANNEXES19
5.1. Paramétrage de SOAP UI19
5.2. Schéma récapitulatif : paiement 3DSecure21
5.3. Données entrées / sorties du serviceweb vrifyEnrollment21
5.4. Données entrées / sorties du serviceweb doAutorization23
Ce document décrit l'utilisation de la fonction 3DSecure en mode interface direct
Ce document est destiné aux commerçants et intégrateurs qui souhaitent utiliser la solution de paiement Payline.
Nos documents sont disponibles sur notre site internet www.pa
yline.com ou sur simple demande auprès de notre service support : support@pa
yline.com
Vous avez besoin d'aide, de conseil ou vous souhaitez simplement nous poser une question. Contactez l'Assistance Payline par :
Pour toute question liée à la mise en place de la solution Payline, vous pouvez joindre notre assistance technique par mail support@payline.com, du lundi au vendredi de 09h00 à 18h00.
Ce programme repose sur la mise en place d'un contrôle supplémentaire lors d'un achat en ligne : en complément des données bancaires, l'acheteur validera son paiement en saisissant une donnée secrète que lui aura fourni sa banque.
Ce dispositif s'accompagne d'une évolution réglementaire appelée "liability shift" ou "transfert de responsabilité" dont le principe est de faire supporter le risque d'impayé émis pour contestation du porteur à la banque du porteur et non plus au commerçant, si le porteur a validé son paiement en renseignant les données 3D Secure et que le commerçant a respecté les mesures de sécurité énoncées dans les conditions générales de vente de son contrat de commerce électronique souscrit auprès de sa banque.
La solution de paiement Payline a déroulé une certification 3DSecure avec les banques, ainsi qu'avec Visa et MCI.
Souscription
Le commerçant doit souscrire auprès de sa banque à un contrat VADS.
Le commerçant informe Payline qu'il a souscrit à un contrat VADS avec 3DSecure, et le client souhaite souscrire à l'option 3DSecure.
L'équipe Payline, doit procéder à l'enregistrement du commerçant auprès de Visa et MCI, « un délai de 10 jours est nécessaire »
Dès confirmation des réseaux Visa et MCI, l'équipe Payline informe le client qu'il va procéder à l'activation du contrat VADS.
Dès activation du contrat VADS, tous les flux transitant sur ce contrat seront des transactions 3DS.
La solution 3D Secure en mode interface Direct assure le transfert sécurisé des données sensibles et traite les demandes d'authentification, d'autorisation. Deux points d'intégration supplémentaires (verifyEnrollment et doAuthorization) sont nécessaires pour assurer l'authentification, en plus du point d'intégration réalisant l'autorisation et récupérant le résultat de la transaction.
Avant de pouvoir utiliser les « webservice » VerifyEnrolment et doAuthorization de Payline, les informations nécessaires à votre authentification et à la mise en œuvre du flux HTTPS sécurisé par SSL V3 sont requises. De plus, un point de vente et un contrat doivent être correctement configurés sur le centre d'administration Payline. Si vous n'avez pas de point de vente, ni de contrat configuré sur le centre d'administration, vous devez vous rendre sur le centre d'administration Payline : https://homologation-admin.payline.com pour vous inscrire.
Pour toutes vos questions, n'hésitez pas à contacter notre équipe support à l'adresse suivante support@payline.com
Les informations suivantes sont les données indispensables à l'utilisation des « webservice » verifyEnrolment et doAuthorization :
Lorsque vous réalisez des appels aux services web Payline, l'identifiant de compte commerçant (Merchand ID) et la clé d'accès (Merchant Access Key) doivent être obligatoirement présentés pour réaliser une authentification http. Les appels web services ne seront pas acceptés s'ils ne sont pas correctement authentifiés.
La méthode d'authentification utilisée s'appelle http Basic Authentification. Si l'identifiant de compte commerçant est 1234567890 et votre clé d'accès est DJMESHXYou6LmjQFdH, vous devez encoder en base64 la valeur de
1234567890:DJMESHXYou6LmjQFdH. La chaîne obtenue est à ajouter à l'entête HTTP comme dans l'exemple ci-dessous :
Authorization : Basic MTIzNDU2Nzg5MdpESk1FU0hYWW91NkxtalFGZEg=
Ne communiquez jamais votre clé d'accès (Merchant Access Key) à une tierce personne.
Payline utilise votre clé d'accès pour vous identifier en tant qu'expéditeur de vos demandes de paiement.
Aucun interlocuteur chez Payline ne la connaît et ne vous demandera cette information.
L'utilisation d'iframe n'est pas compatible avec une utilisation optimale et sécuritaire de Payline.
Dans l'entête du message HTTP, il est nécessaire de préciser la valeur du champ Authorization. Dans cet exemple, lavaleurduchamp'Authorization'estBasic MTExMTExMTExOkFGanU5WEhwbFF6dmFtZmZPNzJM.
Si l'on décode MTExMTExMTExOkFGanU5WEhwbFF6dmFtZmZPNzJM (qui est encodé en base64), nous obtenons la valeur suivante : 111111111:AFju9XHplQzvamffO72L (merchantID : AccessKey).L'ajout de la valeur authorization dans l'entête de la trame dépend de la technologie utilisée. Si vous utilisez un client web service, il est préférable d'opérer de la manière suivante :
Exemple de code :
La variable login prend la valeur du merchantID
La variable password prend la valeur de l'accessKey
//Construction de la requête verifyEnrolment avec les objets payment, card et orderRef
$verifyEnrollmentRequest = array (
'payment' => $this->payment($array['payment']),
'card' => $this->card($array['card']),
'orderRef' => $array['orderRef']
);
//Construction de l'entete du message public $header_soap;
$this->header_soap = array();
$this->header_soap['proxy_host'] = $this->proxy_host = PROXY_HOST;
$this->header_soap['proxy_port'] = $this->proxy_port = PROXY_PORT;
$this->header_soap['proxy_login'] = $this->proxy_login = PROXY_LOGIN;
$this->header_soap['proxy_password'] = $this->proxy_password = PROXY_PASSWORD;
$this->header_soap['login'] = $this->login = MERCHANT_ID;
$this->header_soap['password'] = $this->password = ACCESS_KEY;
$this->header_soap['style'] = SOAP_DOCUMENT;
$this->header_soap['use'] = SOAP_LITERAL;
// Creation de l'instance SoapClient qui va permettre l'appel du WebService
//Déclaration du endPoint ainsi que du header
$client = new SoapClient('https://services.payline.com/V4/services/DirectPaymentAPI
', $this->header_soap);
//Appel du WebService
$verifyEnrollmentResponse = $client->verifyEnrollment($verifyEnrollmentRequest);
Si vous n'utilisez pas de client services web, il faut alors ajouter dans l'entête la valeur en brut comme dans l'impression écran : Authorization : Basic MTExMTExMTExOkFGanU5WEhwbFF6dmFtZmZPNzJM
h7.Titre 7
h8.Titre 8
h9.Titre 9
Ce paragraphe présente les deux web services « verifyEnrollment et doAuthorization » permettant d'effectuer une transaction 3DSecure en utilisant le mode interface direct de la solution de paiement Payline.
Ce premier appel web service permet de vérifier l'éligibilité du porteur au dispositif 3DSecure, et donc de savoir si le porteur de la carte est bien enregistré auprès d'un Directory Server VISA ou Mastercard.
Voici un exemple de requête / réponse pour le web services verifyEnrollment :
|
|
<impl:verifyEnrollmentRequest> |
<verifyEnrollmentResponse> </actionUrl> |
Une fois le verifyEnrollment effectué, l'authentification auprès du serveur ACS doit être effectuée. Pour cela, il est nécessaire d'envoyer les informations du verifyEnrollment sur le serveur d'authentification. Les informations attendues par le MPI sont le MD (pour le suivi de session) et le paReq (requête d'authentification).
Pour envoyer ces informations, il suffit de créer un formulaire HTML regroupant les champs MD et paReq et pointant vers le serveur d'authentification.
Exemple de formulaire HTML :
|
<form name="downloadForm" action="https://acs.modirum.com/mdpayacs/pareq" method="POST"> |
Les informations devant être envoyées au serveur d'authentification à travers le formulaire ci-dessus :
Le serveur d'authentification envoi son message sur l'URL renseignée dans le paramètre TermURL (envoyé dans le formulaire précédent). Dans le formulaire de réponse, deux champs doivent être récupérés pour poursuivre la transaction en mode 3DSecure :
Ces deux champs sont récupérés et permettent de compléter le doAuthorizationRequest en mode 3DSecure
Exemple de script (ici écrit en PHP) permettant de récupérer la réponse à l'authentification :
|
<?php |
Remarque : ce script doit être placé sur un serveur web démarré et dans un dossier correspondant à l'adresse envoyé via le champ TermURL.
Exemple : si le serveur est en local il est tout à fait possible de mettre comme valeur :
TemrURL = http://127.0.0.1/3DSecure/receive_form.php
L'appel web service de la méthode doAuthorization permet d'effectuer directement la transaction avec les paramètres 3DSecure. Les paramètres renseignés : md / pares permettent de vérifier l'authentification et donc l'identité de l'utilisateur avant d'effectuer la transaction.
Si les paramètres sont corrects, la transaction est alors directement effectuée comme pour le doAuthorization classique.
|
|
<impl:doAuthorizationRequest> |
<doAuthorizationResponse> |
Il est possible d'utiliser la fonction 3DSecure implémentée sur la solution de paiement Payline, sans utiliser la fonction standard de Payline « effectuer un paiement », donc vous utiliserez uniquement les deux premières étapes décrites ci-dessous.
En effet l'Etape 3, permet d'effectuer une transaction de paiement en vous appuyant de la solution de paiement 3DSecure.
Comme expliqué précédemment, cette première action permet de vérifier l'enrôlement de la carte de l'utilisateur. Les éléments obligatoires de la méthode verifyEnrollment sont :
Voici des données de test permettant d'obtenir un résultat positif : 03000 – Operation successfull :
|
|
Exemple de requête verifyEnrollment :
|
|
<impl:verifyEnrollmentRequest> |
<verifyEnrollmentResponse> </actionUrl> </termUrlValue> |
Dans la réponse du verifyEnrollment on distinguera deux parties d'éléments XML :
l'élément result permet de récupérer la réponse concernant l'enrôlement ou non de la carte utilisée. Le résultat de la vérification est visible à travers les différents codes retour ainsi qu'avec les shortMessage et longMessage apportant un complément d'information au code retour. Le verifyEnrollment peut renvoyer les codes retours suivants :
La deuxième partie dans la réponse du verifyEnrollment sont les éléments renvoyés par le Directory Server et permettant le suivi de la transaction à venir :
Pour chaque élément, on trouve le nom du champ et la valeur du champ.
Exemple : paresFieldName / paresFieldValue.
Suivi technique des appels « webservice » :
Détail du verifyEnrollment
Une fois le verifyEnrollment effectué, l'authentification auprès du serveur ACS doit être effectuée. Pour cela, il est nécessaire d'envoyer les informations du verifyEnrollment sur le serveur d'authentification. Les informations attendues par le MPI sont le MD (pour le suivi de session) et le paReq (requête d'authentification).
Pour envoyer ces informations, il suffit de créer un formulaire HTML regroupant les champs MD et paReq et pointant vers le serveur d'authentification.
Exemple de formulaire HTML :
|
<form name="downloadForm" action="https://acs.modirum.com/mdpayacs/pareq" method="POST"> |
Les informations devant être envoyées au serveur d'authentification à travers le formulaire ci-dessus :
MD : suivi de la session : valeur à récupérer dans la réponse du verifyEnrollment
PaReq : requête d'authentification : valeur à récupérer dans le verifyEnrollment
TermURL : adresse où le serveur d'authentification envoie la réponse de l'authentification. Concrètement cette adresse doit être capable de récupérer un formulaire envoyé en « POST » et contenant la réponse de l'authentification de l'utilisateur.
Le serveur d'authentification envoi son message sur l'URL renseignée dans le paramètre TermURL (envoyé dans le formulaire précédent). Dans le formulaire de réponse, deux champs doivent être récupérés pour poursuivre la transaction en mode 3DSecure :
le champ MD : toujours le même champ permettant le suivi de la session
le champ PaRes : Payer Authentication Response : chaine de caractères cryptée contenant la réponse du serveur d'authentification. La valeur du champ PaRes va permettre de valider ou non la transaction comme une transaction 3DSecure.
Ces deux champs sont récupérés et permettent de compléter le doAuthorizationRequest en mode 3DSecure
(Voir Etape 3 : doAuthorization).
Exemple de script (ici écrit en PHP) permettant de récupérer la réponse à l'authentification :
|
<?php |
Remarque : ce script doit être placé sur un serveur web démarré et dans un dossier correspondant à l'adresse envoyé via le champ TermURL.
Exemple : si le serveur est en local il est tout à fait possible de mettre comme valeur :
TemrURL = http://127.0.0.1/3DSecure/receive_form.php
La dernière étape dans le cadre d'une transaction 3DSecure via l'interface Payline DIRECT est l'envoi d'une requête doAuthorization. Comme dans le cadre d'une transaction classique, le doAuthorization contiendra les champs obligatoires suivant :
doAuthorizationRequest |
doAuthorizationResponse |
<doAuthorizationRequest> |
<doAuthorizationResponse> |


http://www.payline.com/wsdl/v4_0/homologation/DirectPaymentAPI.wsdl
La création du projet génère l'ensemble des APIs Payline : DirectPaymentAPI, ExtendedAPI, WebPaymentAPI, MassPaymentAPI, ainsi que les services de chaque API : exemple : doAuthorization, doCapture, doWebPayment, etc.
Pour chaque service, une requête, nommée « Request 1 », a automatiquement été générée.
Configuration des requêtes SOAP : chaque requête générée pour les services Payline doit être configurées de façon à atteindre l'application Payline.
Configuration du « endpoint » : ouvrir une requête, par exemple le doAuthorization, en effectuant un double clic sur « Request 1 ». Puis dans la barre d'adresse cliquer sur « Add new end point » (voir screenshot ci-dessous) et ajouter l'adresse :
https://homologation.payline.com/V4/services/DirectPaymentAPI
Effectuer la même opération pour les autres API en ajoutant les « end point » suivant :
Configuration de l'autorisation commerçant : pour pouvoir communiquer avec l'API Payline, une autorisation est obligatoire. Cette autorisation permet de vous identifier avec votre compte commerçant sur l'API Payline.
Pour cela, cliquez sur Auth (en bas à droite dans la fenêtre de la requête) et entrer vos informations de connexions à l'environnement Payline :
Configuration de la requête : compléter les champs de la requête en remplaçant les « ? » par les vos valeurs : numéro de contrat, montant, informations de la carte bancaire, informations sur la commande, etc.
Lancer la requête : pour cela cliquez sur Play (la flèche verte) en haut à gauche dans la fenêtre de la requête SOAP. La réponse de l'API Payline s'affiche alors dans le cadre de droite.
Données Entrées
Elément |
Commentaire |
Requis |
Type |
Exemple |
||
|---|---|---|---|---|---|---|
Authorization |
Dans l'entête de la trame http. Ne doit pas être présent dans le corps du message. |
Oui |
|
Basic |
||
Payment.Amount |
le montant du paiement à réaliser. Le |
Oui |
N12 |
pour un montant de 60€, |
||
Payment.Currency |
le code ISO de la devise du paiement |
Oui |
N3 |
978 : euros |
||
Payment.Action |
Code de la fonction de paiement |
Oui |
N3 |
100 : Autorisation |
||
Payment.Mode |
Mode CPT |
Oui |
AN3 |
CPT : Comptant |
||
Payment.ContractNumber |
Le numéro du contrat de paiement qui |
Oui |
AN50 |
Le «ContractNumber» |
||
Payment.DifferedAction |
Date effective de l'action. Elle doit être |
Non |
AN8 |
|
||
Card.Number |
Numéro de carte (en clair) |
Oui |
N19 |
|
||
Card.Type |
Type de carte utilisé pour la |
Oui |
AN40 |
CB |
VISA |
MC |
Card.ExpirationDate |
Date d'expiration de la carte (en clair) |
oui |
N4 |
Format à respecter : |
||
Card.CVX |
Cryptogramme visuel au dos de la carte de crédit. |
Oui |
N10 |
|
||
Card.OwnerBirthdayDate |
Date d'anniversaire du porteur. |
Non |
N6 |
Format à respecter : |
||
Card.Password |
Mot de passe crypté |
Non |
AN16 |
|
||
OrderRef |
Référence de la commande. |
Oui |
AN50 |
|
||
mdFieldValue |
Valeur du merchantData (Cette valeur |
Non |
AN20 |
Ce champ est à |
Données de sorties
Elément |
Description |
Format |
Exemple |
Result.Code |
Le code de retour du web service : |
N5 |
cf. liste complète dans le tableau du guide intégration |
Result.ShortMessage |
Message court du résultat de la transaction |
AN50 |
|
Result.LongMessage |
Message du résultat de la transaction |
AN255 |
|
actionUrl |
URL de l'ACS |
AN255 |
|
actionMethod |
Méthode d'envoi .Retourne une valeur POST ou |
AN255 |
|
pareqFieldName |
Nom du champ "Pareq à Poster |
AN5 |
|
pareqFieldValue |
Contient la Valeur du champ PaReq |
AN100 à |
|
termurlFieldName |
Contient le nom du champ "TermUrl" à Poster |
AN50 |
|
termurlFieldValue |
Contient la valeur du champ "TermUrl". |
AN255 |
|
mdFieldName |
Contient le nom du champ "MD field" à Poster |
AN50 |
|
mdFieldValue |
Contient la valeur du champ "MD field" |
AN20 |
|
mpiResult |
Renvoie la lettre du champ 59-412 |
A1 |
Y, N, U dans le cas de l'enrôlement |
authentication3DSec |
Merchant data |
AN20 |
Même valeur que mdFieldValue |
authentication3DSec |
Identifiant de transaction Unique |
ANP28 |
Encodé en base64 |
authentication3DSec |
Cardholder Authentication Verification Value |
ANP28 |
Vide dans verifyEnrolment |
authentication3DSecure.cavvAlgorithm |
Entier positif précisant l'algorithme utilisé pour la |
N1 |
|
authentication3DSecure.vadsResult |
Résumé des opérations 3DSecure |
AN8 |
Valeur binaire volontairement |
authentication3DSec |
Renvoie la valeur du type de sécurisation |
N2 |
|
authentication3DSecure.eci |
Electronic Commerce Indicator. |
AN2 |
|
La fonction « do Authorization» réalise une demande d'autorisation de débit au serveur d'autorisation de votre établissement bancaire.
Requête à envoyer
La requête « doAuthorizationRequest » doit avoir la structure suivante :
Elément |
Description |
Requis |
Type |
Exemple |
|---|---|---|---|---|
Payment.Amount |
Montant de la transaction dans la plus petite unité de la devise |
oui |
N12 |
la valeur 100 correspond à 1 € |
Payment.Currency |
Code de la devise du paiement |
oui |
N3 |
978 : euros |
Payment.Action |
Code de la fonction de paiement |
oui |
N3 |
100 : Autorisation |
Payment.Mode |
Mode de paiement : comptant, différé |
oui |
AN3 |
CPT : Comptant |
Payment.ContractNumber |
le code ou numéro de votre contrat VAD qui représente le moyen de paiement que vous souhaitez utiliser |
oui |
AN50 |
|
Payment.DifferedActionDate |
Date effective de l'action. Elle doit être inférieure à la date du jour + 7 jours. |
non1 |
AN8 |
Format à respecter : dd/mm/yy |
Card.Number |
Numéro de carte |
oui |
N19 |
|
Card.Type |
Type de carte utilisé pour la transaction |
oui |
AN40 |
CB : visa / mastercard |
Card.ExpirationDate |
Date d'expiration de la carte |
Non3 |
N4 |
Format à respecter : mmyy |
Card.CVX |
Cryptogramme visuel au dos de la carte de crédit |
non3 |
N10 |
|
Card.OwnerBirthdayDate |
Date d'anniversaire du porteur |
non3 |
N6 |
Format à respecter : ddmmyy |
Card.Password |
Mot de passe crypté |
non3 |
AN16 |
|
Order.Ref |
Référence de la commande. Cette référence doit être unique car elle est utilisée pour le contrôle des doublons. |
Oui |
AN50 |
12345678 |
Order.Origin |
Origine de la commande |
Non5 |
AN50 |
SVI_#12 |
Order.Country |
Le code du pays dans lequel la commande a été effectué |
Non |
AN3 |
FR |
Order.Taxes |
Le montant des taxes sur la commande dans la plus petite unité de la devise |
Non |
N12 |
la valeur 100 correspond à 1 € |
Order.Amount |
Le montant de la commande dans la plus petite unité de la devise. Généralement le même montant que Payment.Amount |
Oui |
N12 |
la valeur 100 correspond à 1 € |
Order.Currency |
Le code de la devise utilisée lors de la commande. |
Oui |
N3 |
978 : euros |
Order.Date |
La date de la commande chez le commerçant |
Non |
AN18 |
Format à respecter : dd/mm/yyyy |
Order.Details |
Informations sur les articles commandés |
Non |
|
Tableau « OrderDetails » |
Buyer.LastName |
Nom de l'acheteur |
Non |
AN100 |
|
Buyer.FirstName |
Prénom de l'acheteur |
Non |
AN100 |
|
Buyer.Email |
Adresse email de l'acheteur |
Non |
AN150 |
|
Buyer.ShippingAddress.Name |
Nom ou numéro d'immeuble |
Non |
AN100 |
|
Buyer.ShippingAddress.Street1 |
Nom de rue |
Non |
AN100 |
|
Buyer.ShippingAddress.Street2 |
Complément du nom de rue |
Non |
AN100 |
|
Buyer.ShippingAddress.CityName |
Ville |
Non |
AN40 |
|
Buyer.ShippingAddress.ZipCode |
Code postal |
Non |
AN20 |
|
Buyer.ShippingAddress.Country |
Pays |
Non |
AN2 |
|
Buyer.ShippingAddress.Phone |
Téléphone |
Non |
AN15 |
|
Buyer.AccountCreateDate |
La date de création du compte de l'acheteur |
Non |
AN8 |
Format à respecter : dd/mm/yy |
AccountAverageAmount |
Le montant moyen des achats de cet acheteur |
Non |
N10 |
|
Buyer.AccountOrderCount |
Le nombre de commande passé par cet acheteur |
Non |
N10 |
|
Buyer.WalletId |
L'identifiant du portefeuille virtuel de votre client. |
Non² |
AN50 |
|
PrivateDataList |
Vos propres informations personnelles |
Non |
|
Tableau « PrivateData » |
authentication3DSecure.md |
Renvoyé en POST par l'ACS |
Non4 |
AN20 |
|
authentication3DSecure.pares |
Renvoyé en POST par l'ACS |
Non4 |
AN |
|
authentication3DSecure.xid |
Identifiant de transaction Unique |
Non |
AN20 |
Ne plus utiliser, champ obsolète |
authentication3DSecure.eci |
Electronic Commerce Indicator. A passer dans l'autorisation |
Non |
AN2 |
Ne plus utiliser, champ obsolète |
authentication3DSecure.cavv |
Cardholder Authentication Verification Value déterminé par l'ACS. |
Non |
AN26-28 |
Ne plus utiliser, champ obsolète |
authentication3DSecure.cavvAlgorithm |
Entier positif précisant l'algorithme utilisé pour la génération CAVV. Les valeurs possibles actuelles sont: |
Non |
N1 |
Ne plus utiliser, champ obsolète |
authentication3DSecure.vadsResult |
Résumé des opérations 3DSecure |
Non |
AN4 |
Ne plus utiliser, champ obsolète |
1 - Lorsque le champ Payment.Mode prend la valeur « DIF », la date Payment.DifferedActionDate est obligatoire. Dans les autres modes de paiement, ce champ doit être vide.
2 - Ne pas renseigner pour cette fonction.
3 - Veuillez vous référer à l'annexe « Erreur ! Source du renvoi introuvable. ».
4 - Obligatoire pour toutes les transactions 3DSecure.
5 - Si l'option MOTO est activée, alors la valeur de l'attribut Order.Orign sera « MO » ou « TO ».
Pour chaque ligne de détail d'une commande (OrderDetails) :
Elément |
Commentaire |
Requis |
Format |
Exemple |
Ref |
Référence de l'article |
Non |
AN50 |
|
Price |
Prix de l'article dans la plus petite unité de la devise |
Non |
N12 |
|
Quantity |
Quantité d'articles |
Non |
N5 |
|
Comment |
Commentaire |
Non |
|
|
Pour chaque donnée privée (PrivateData) :
Elément |
Commentaire |
Requis |
Format |
Exemple |
Key |
La clé qui vous permet de filtrer vos transactions de paiement |
Oui |
AN50 |
user |
Value |
La valeur associée à la clé |
Oui |
AN50 |
dupond or durand, etc… |
Réponse en retour
Le message « doAuthorizationResponse » est la réponse faite par Payline à une demande d'autorisation de débit. Il vous permet d'obtenir, entre autres, le numéro unique de la transaction sur Payline et le n° d'autorisation de débit délivré par votre établissement bancaire.
La réponse a la structure suivante :
Elément |
Description |
Format |
Exemple |
|---|---|---|---|
Result.Code |
Le code de retour du web service : |
N5 |
cf. liste complète en annexe tableau « Liste des codes retours » dans le Guide d'intégration |
Result.ShortMessage |
Message court du résultat de la transaction |
AN50 |
|
Result.LongMessage |
Message du résultat de la transaction |
AN255 |
|
Transaction.Id |
Identifiant unique de la transaction Payline |
AN50 |
|
Transaction.IsPossibleFraud |
Cet indicateur est calculé en fonction des critères définis par le commerçant |
AN1 |
1 = Il existe un risque de fraude |
Transaction.isDuplicated |
Cet indicateur est retourné par Payline dans le cas de transaction en doublon |
AN1 |
1 = Il existe un risque de fraude |
Transaction.Date |
Date et heure de la transaction Payline |
AN16 |
Format : dd/mm/yyyy HH24:MI |
Transaction.fraudResult |
Code de la fraude |
AN50 |
|
Transaction.explanation |
Motif du refus en cas de fraude |
AN50 |
|
Transaction.ThreeDSecure |
Cet indicateur est retourné par Payline lors d'une transaction 3DSecure |
AN1 |
Y = Transaction en mode 3DSecure |
Transaction.score |
Scoring de la possibilité de fraude |
N5 |
Score de 0 à 10 |
Authorization.Number |
Numéro d'autorisation délivré par le serveur d'autorisation acquéreur. Ce champ est renseigné si la demande d'autorisation est accordée*. |
N6 |
123456 |
Authorization.Date |
Date et heure de l'autorisation |
AN16 |
Format : dd/mm/yyyy HH24:MI |