Gérer les résultats des vérifications
Écoutez les résultats des vérifications pour que votre intégration déclenche automatiquement les réactions appropriées.
Vous avez écrit du code pour afficher une fenêtre modale permettant de collecter les pièces d’identité. Lorsqu’un utilisateur soumet un document, vous pouvez désormais écouter les résultats de la vérification pour déclencher des réactions dans votre application.
Dans ce guide, vous apprendrez à :
- Recevoir une notification d’événement au terme du traitement d’une vérification.
- Gérer les réussites et les échecs des vérifications.
- Activer votre gestionnaire d’événements en mode production.
Les contrôles de vérification sont asynchrones, ce qui signifie que les résultats de la vérification ne sont pas immédiatement disponibles. Une fois le processus terminé, l’état de la VerificationSession change et les informations deviennent disponibles. Stripe génère des événements à chaque changement d’état d’une session. Dans ce guide, nous allons implémenter des webhooks pour informer votre application de la mise à disposition des résultats de la vérification.
Configurer StripeCôté serveur
Installez nos bibliothèques officielles pour accéder à l’API Stripe depuis votre application :
Créer un webhook et gérer les événements de la VerificationSessionCôté serveur
Un webhook est un endpoint sur votre serveur qui reçoit des requêtes de Stripe. Il vous informe des événements qui se produisent sur votre compte. À cette étape, nous allons créer un endpoint pour recevoir des événements concernant les changements d’état de la VerificationSession.
Les endpoints de webhook doivent être publiquement accessibles pour que Stripe puisse envoyer des requêtes non authentifiées. Vous devrez vérifier que Stripe a envoyé l’événement en utilisant la bibliothèque Stripe et l’en-tête de la requête :
Maintenant que vous avez mis en place la structure et la sécurité de base nécessaires pour écouter les notifications de Stripe, mettez à jour votre endpoint de webhook pour gérer les événements de la session de vérification.
Tous les évènements de session incluent l’objet VerificationSession, lequel contient des informations sur les contrôles de vérification effectués. Voir Accéder aux résultats de la vérification pour apprendre comment récupérer des informations vérifiées non incluses dans les évènements de session.
Stripe envoie les événements suivants lorsque l’état de la session change :
| Nom de l’événement | Description | Étapes suivantes |
|---|---|---|
| identity.verification_session.verified | Le traitement de tous les contrôles de vérification est terminé. La vérification a été effectuée avec succès. | Déclenchez les actions pertinentes dans votre application. |
| identity.verification_session.requires_input | Le traitement de tous les contrôles de vérification est terminé, et au moins un des contrôles a échoué. | Déclenchez les actions appropriées dans votre application et autorisez le cas échéant l’utilisateur à effectuer une nouvelle tentative de vérification. |
Le code de votre webhook doit gérer les événements identity. et identity.. Vous pouvez vous inscrire à d’autres événements de session afin de déclencher des réactions supplémentaires dans votre application.
Gérer le passage à l’état « verified » de la VerificationSession
Vous recevez l’événement identity. lorsque tous les contrôles de vérification se sont soldés par un succès.
Ajoutez du code à votre gestionnaire d’événements pour gérer la réussite de tous les contrôles de vérification :
Lorsque vous gérez cet événement, nous vous conseillons également d’effectuer les actions suivantes :
- Enregistrer l’état de la vérification dans votre propre base de données
- Envoyer un e-mail à votre utilisateur pour l’informer de la réussite de la vérification
- Développer les résultats vérifiés de la VerificationSession et les comparer à une valeur attendue.
Gérer le passage à l’état requires_input de la VerificationSession
Vous recevez l’événement identity. lorsqu’au moins un des contrôles a échoué. Vous pouvez inspecter le hachage last_error de la session de vérification pour gérer des motifs d’échec spécifiques :
- Vous pouvez utiliser le champ last_error.code pour gérer les échecs de vérification de manière programmatique.
- Le champ last_error.reason contient une description du motif de l’échec, que vous pouvez présenter à l’utilisateur.
Codes d’erreur d’événements
Ajoutez du code à votre gestionnaire d’événements pour gérer les échecs des contrôles de vérification :
Suivant votre cas d’usage, vous voudrez peut-être autoriser vos utilisateurs à effectuer une nouvelle tentative de vérification en cas d’échec. Nous vous recommandons de limiter le nombre de tentatives.
Lorsque vous gérez cet événement, nous vous conseillons également d’effectuer les actions suivantes :
- Vérifier manuellement les informations collectées
- Envoyer un e-mail à votre utilisateur pour l’informer de l’échec de la vérification
- Proposer à votre utilisateur une autre méthode de vérification
Passer en mode production
Une fois que vous avez déployé votre endpoint de gestionnaire d’événements, configurez-le de manière à ce que Stripe sache où envoyer les événements en mode production. Nous vous conseillons également de consulter la liste de contrôle des développeurs afin que la mise en service de votre intégration se passe au mieux.
Les endpoints Webhook sont configurés dans Workbench ou de manière programmatique via l’API.
Ajouter un endpoint dans le Dashboard
- Dans l’onglet Webhooks de Workbench, cliquez sur Ajouter une destination pour ajouter un nouveau endpoint webhook.
- Entrez la version de l’API Stripe.
- Sélectionnez les événements à écouter. Voir la liste complète des événements de la session de vérification.
- Cliquez sur Continuer et sélectionnez Endpoint Webhook dans la liste des types de destination disponibles.
- Cliquez sur Continuer et entrez l’URL de votre endpoint, un nom optionnel et une description optionnelle.
- Cliquez sur Créer une destination.
Ajouter un endpoint avec l’API
Vous pouvez également créer des endpoints webhook par programmation. Comme avec le formulaire dans Workbench, vous pouvez entrer n’importe quelle URL comme destination pour les événements et quels types d’événements suivre.
curl https://api.stripe.com/v1/webhook_endpoints \ -u: \ -d "url"="https://{{DOMAIN}}/my/webhook/endpoint" \ -d "enabled_events[]"="identity.verification_session.verified" \ -d "enabled_events[]"="identity.verification_session.requires_input"sk_test_BQokikJOvBiI2HlWgH4olfQ2