https://d226lax1qjow5r.cloudfront.net/blog/blogposts/add-strong-psd2-authentication-to-your-application/Blog_Strong-Customer-Authentication_1200x600-2.png

Ajoutez une authentification PSD2 forte à votre application

Temps de lecture : 3 minutes

Les achats en ligne étant de plus en plus nombreux, les risques de fraude et de paiements non autorisés augmentent.

En réponse à cette situation, une nouvelle norme d'authentification des paiements en ligne a été introduite en Europe, appelée "Secure Customer Authentication", également connue sous le nom de PSD2 (Payment Services Directive version 2).

La directive PSD2 introduit un élément de sécurité supplémentaire pour les paiements en ligne. Si vous effectuez des transactions en euros, vous pouvez utiliser notre Verify API pour vous aider à mettre en œuvre cet élément supplémentaire dans vos Applications.

À propos de l'authentification sécurisée des clients

L'authentification sécurisée du client consiste à s'assurer que plusieurs types d'authentification seront utilisés pour des montants de transaction plus importants (les détails techniques et les petits caractères sont également disponibles). En bref, les transactions doivent comprendre deux de cette liste de trois éléments :

  • Un mot de passe ou un code PIN (quelque chose que l'utilisateur connaît)

  • Une empreinte digitale ou un balayage du visage ou des yeux (quelque chose que l'utilisateur est)

  • Informations provenant d'un téléphone ou d'un jeton matériel (quelque chose que le client possède)

L'utilisation de la fonctionnalité PSD2 dans Verify API est un moyen simple de mettre en œuvre la troisième option de la liste ci-dessus.

Fonctionnement de Verify API PSD2

Pour autoriser un paiement, l'API envoie un code au numéro de téléphone enregistré sur le compte de l'utilisateur.

L'autorisation peut se faire par message texte, par appel téléphonique, ou généralement par une combinaison des deux pour toucher le plus grand nombre possible d'utilisateurs. L'utilisateur reçoit son code PIN ainsi que des informations sur la transaction : la personne qu'il paie et le montant du paiement.

Screenshot from phone with message: Your code 2393 is for payment to Acme Inc. in the amount of 12.34€. Valid for 5 minutes

L'utilisateur fournit alors le code pin qu'il a reçu ; celui-ci est renvoyé à l'API Verify pour vérifier s'il est correct. Si c'est le cas, la demande est confirmée et vous pouvez procéder au paiement.

Mettre en œuvre Verify API PSD2

Nous avons des dans différentes piles technologiques mais pour garder les choses très inclusives, ces exemples utilisent cURL.

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

Envoyer un code PIN pour confirmer un paiement

La première étape consiste à envoyer un code sur le téléphone du client pour confirmer le montant du paiement et son destinataire. Pour s'assurer que le message est bien parvenu au client, il contient un code PIN.

La référence de l'API pour l'envoi du code PSD2 est ici. référence API pour l'envoi d'un code PSD2 est ici pour une liste complète des détails et de tous les paramètres disponibles. Dans le cas le plus simple, la requête cURL ressemble à ceci :

curl -X POST "https://api.nexmo.com/verify/psd2/json" \
-d api_key=API_KEY -d api_secret=API_SECRET \
-d number=447700777000 -d payee="Acme, Inc" \
-d amount=12.34

Remplacer API_KEY et API_SECRET dans l'exemple ci-dessus par vos informations d'identification, et indiquez également le numéro de téléphone auquel envoyer le code PIN ; il s'agit probablement de votre numéro de téléphone pendant que vous testez, et il doit être au format international sans le symbole + en tête.

Dans ce contexte, le code PIN sera d'abord envoyé par SMS. Si l'utilisateur ne fournit pas le code PIN correct dans les minutes qui suivent, il recevra un appel automatisé pour lui communiquer les informations.

Les deux approches permettent d'atteindre un plus grand nombre d'utilisateurs, mais vous pouvez également choisir le flux de travail qui correspond le mieux à votre cas d'utilisation.

La demande renvoie un fichier request_id. Enregistrez ceci car vous en aurez besoin à l'étape suivante !

Vérifier le code PIN

Lorsque l'utilisateur soumet le code PIN qu'il a reçu, vous pouvez confirmer qu'il est correct en appelant le point de terminaison /check dans l'API Verify de Vonage.

Consultez la documentation de référence de l documentation de référence de l'API pour le point de terminaison check pour plus de détails. Encore une fois, des des exemples de code sont disponiblesLa requête cURL ressemble à ceci :

curl -X POST "https://api.nexmo.com/verify/check/json" \
-d api_key=API_KEY -d api_secret=API_SECRET \
-d request_id=abcdef0123456789abcdef0123456789 -d code=1234

Là encore, remplacez API_KEY et API_SECRET par vos informations d'identification, et utilisez le fichier request_id renvoyée à l'étape précédente. Le paramètre code doit être le code pin envoyé à l'utilisateur.

En cas de succès, la réponse affichera un status de zéro, et vous pouvez être sûr que l'utilisateur a bien autorisé le paiement.

Prochaines étapes

Dans ce billet, nous avons abordé ce qu'implique l'authentification sécurisée du client et un exemple de mise en œuvre dans vos Applications. Voici quelques ressources qui pourraient vous être utiles pour la suite :

Partager:

https://a.storyblok.com/f/270183/250x250/e3d3b71060/lornajane.png
Lorna MitchellAnciens de Vonage

Lorna est une ingénieure en informatique qui a la manie incurable de bloguer. Elle tente d'apprivoiser les mots et le code à parts égales.