Contenu
Sommaire | ||||
---|---|---|---|---|
|
CU10 - Paiement 3DS en direct
Le principe
3D Secure est un protocole d'authentification fourni par les systèmes de cartes de crédit.
Le marchand peut demander un mot de passe au consommateur pour confirmer le paiement. Cette procédure permet d'authentifier le consommateur comme étant le porteur de la carte utilisée pour le paiement. Elle permet de renforcer la sécurité et de transférer la responsabilité au consommateur de la carte en cas d'impayé.
L'authentification se fait Le paiement 3D Secure se réalise en deux étapes :
- vérification Vérification de l'enrôlement de la carte au système 3D Secure ;demande d'et authentification du consommateur.
La mise en place de 3D Secure doit permettre aux e-marchands de réduire le montant de leurs impayés dus à la fraude, mais cette procédure réduit également le taux des paiements acceptés.
- Votre client effectue des achats sur votre site e-commerce.
- Pour finaliser sa commande il renseigne ses coordonnées de carte bancaire sur l’interface Payline.
- Les informations sont transmises à la banque de votre client qui devra s’authentifier.
- Payline prend connaissance de la bonne exécution de l’authentification avant de finaliser le paiement et rediriger le client vers votre site.
- porteur.
- Demande de paiement.
La technique
Cette page 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.
Pour plus d'information concernant le traitement 3D Secure, veuillez cliquer ici.
Intégration
Vous devez utiliser les web services verifyEnrollment et doAuthorization de l'API Payline.
Diagramme draw.io | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
- Votre client Le consommateur valide son panier afin que le marchand prépare la page web ou seront renseignés les données de paiement, en appelant le service Payline « doWebPayment». Un message « VEReq » (Verification enrollment request) permettant l’accès au Directory Serveur vérifiera l’inscription de la carte dans l’annuaire contenant les cartes déclarées « enrôlées » 3-D Secure et et les URL des ACS correspondants. La réponse « VERes » (Verification enrollment response) contenant le résultat de l’authentification sera retourné au Merchand Plug-in (MPI) pour gérer le dialogue avec le Directory et l’ACS en vue de permettre à l’acheteur de s’authentifier.
- La demande « PAReq » (Payer authentification request) permet l’accès à l’ACS de la banque du porteur et déclenchera la phase d’authentification.
- La réponse « PARes »(Payer authentification response), contenant le résultat de l’authentification du porteur de la carte sera transmis au commerçant qui déclenchera une demande d’autorisation et de validation de paiement en appelant le service doAuthorizationRequest qui interrogera la banque acquéreur.
- En fonction de la réponse de la banque (doAuthorizationResponse), le paiement sera enregistré ou non et la réponse sera transmise à l’acheteur.
1. Demande de vérification de l'enrollement de la carte avec le service VerifyEnrollment
VerifyEnrollment | |||
---|---|---|---|
Request | Response |
Les services utilisés sont doWebPayment et getWebPaymentDetails. Vous devez mettre en place la configuration de notification serveur.
version | 18 |
---|
18 | |||
selectedContractList | VADCB* |
payment.amount | 1000 |
---|
payment.action | 101 |
---|
payment.mode |
---|
ActionUrl | CPT | ||
---|---|---|---|
payment.contratNumber | actionMethod | VADCB* | |
buyer.customerid | pareqFieldName | 123456 | |
order.ref | PHP123456 | ||
returnURL | https://demo.payline.com/~kitphp/examples/demos/web.php?e=getWebPaymentDetails | ||
cancelURL | https://demo.payline.com/~kitphp/examples/demos/web.php?e=getWebPaymentDetails |
* nom de l'alias donné au contrat VAD du moyen de paiement
** Attention ces valeurs sont générés de manière dynamique et se renouvelleront pour chaque message.
2. Redirection du consommateur pour l'authentification
Une fois le verifyEnrollment effectué, lréalisé, vous devez réaliser la demande d'authentification auprès du serveur ACS doit être effectuée. 3DS du consommateur.
Pour cela, il est nécessaire d'envoyer les informations du verifyEnrollment sur le serveur d'authentification. Les informations attendues par le MPI sont :
- 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.
Attention ces valeurs sont générés de manière dynamique et se renouvelleront pour chaque message.
Les services utilisés sont doWebPayment et getWebPaymentDetails. Vous devez mettre en place la configuration de notification serveur.
vous devez rediriger le consommateur sur l'URL ActionUrl avec les paramètres que vous trouvez dans la réponse du service verifyEnrollement.
Vérifier la méthode utilisée POST ou GET de actionMethod
Les paramètres sont indiqués par les champs et les valeurs dynamiquement :
pareqFieldName | nom du paremètre |
pareqFieldValue | valeur du paramètre pareqFieldName |
termUrlName | nom du paremètre |
termUrlValue | valeur du paramètre termUrlName |
midFieldName | nom du paremètre |
midFieldName | valeur du paramètre midFieldName |
3. La demande de paiement avec le service doAuthorisation
Vous devez récupérer les informlations MD en retour de l'authentification 3DS pour réaliser la demande de paiement :
doAuthorisation | |
---|---|
result.code | 00000 |
result.shortmessage | ACCPTED |
result.longmessage | Transaction approved |
token | 1gZKPUeSufwDtQkVo3071534757637648 |
redirectURL | https://homologation-webpayment.payline.com/webpayment/step1.do?reqCode=prepareStep1&token=1gZKPUeSufwDtQkVo3071534757637648 |
* nom de l'alias donné au contrat VAD du moyen de paiement
4. Récupération du détail de la transaction avec le service getTransactionDetail
Demande de paiement 3DS | ||||||
---|---|---|---|---|---|---|
getTransactionDetail | ||||||
result.code | 00000 | |||||
result.shortmessage | ACCPTED | |||||
Demande d'autorisation | ||||||
doAuthorizationRequest | doWebPaymentResponse | |||||
version | 18 | result.code | 00000 | |||
selectedContractList | VADCB* | result.shortmessage | ACCPTED | |||
payment.amount | 1000 | result.longmessage | Transaction approved | |||
payment.action | 101 | token | 1gZKPUeSufwDtQkVo3071534757637648 | payment.mode|||
CPT | redirectURL | https://homologation-webpayment.payline.com/webpayment/step1.do?reqCode=prepareStep1&token=1gZKPUeSufwDtQkVo3071534757637648 | payment.contratNumber | VADCB* | buyer.customerid | 123456 |