Introduction
Si nous gérons une activité avec Stripe, il y a de fortes chances que plusieurs flux de paiement coexistent. Nous pouvons avoir un checkout e-commerce complet sur notre site, mais aussi envoyer des liens de paiement à nos clients par e-mail ou par téléphone pour des ventes ponctuelles ou en présentiel. Les notifications par e-mail intégrées à Stripe couvrent l'ensemble des paiements réussis sur le compte, mais que faire si nous voulons être notifiés uniquement lorsqu'un payment link est payé ? Nos commandes en ligne disposent peut-être déjà de leur propre flux de traitement, et un e-mail générique « vous avez reçu un paiement » pour chaque transaction serait alors du bruit.
C'est exactement le besoin auquel l'un de nos clients a été confronté récemment. Il voulait que son équipe reçoive un e-mail dès qu'un client payait via un payment link, afin d'agir immédiatement. Les commandes du site étaient déjà gérées, mais les payment links étaient un ajout plus récent dans le workflow, créés à la volée pour des clients au téléphone ou en présentiel - et ils avaient besoin de visibilité sur ces paiements au moment où ils se concrétisaient.
La bonne nouvelle, c'est que c'est tout à fait possible nativement dans Stripe, sans code, sans outil tiers comme Zapier, et sans intervention d'un développeur. L'outil qui le permet : Stripe Workflows.
Qu'est-ce que Stripe Workflows ?
Workflows est l'outil d'automatisation intégré à Stripe. Il permet de définir des règles qui réagissent aux événements survenant sur le compte, du type « quand X se produit, faire Y ». On peut le voir comme une alternative native au fait de construire des listeners webhook à usage unique, ou de connecter des plateformes d'automatisation tierces.
On construit les workflows directement dans le dashboard Stripe via un éditeur visuel. On choisit d'abord un événement déclencheur, par exemple un paiement réussi ou la création d'une facture. On ajoute ensuite des conditions pour filtrer les événements pertinents, et on définit les actions à exécuter quand ces conditions sont remplies - envoyer un e-mail à un membre de l'équipe, mettre à jour des metadata, modifier un champ sur un objet, et ainsi de suite.
Workflows est un produit relativement récent au sein de Stripe, mais ses capacités s'enrichissent rapidement. L'idée est de remplacer une grande partie de la tuyauterie et des listeners webhook à usage unique que les équipes ont dû construire et maintenir elles-mêmes. Pour ce type de notification e-mail ciblée, c'est l'outil idéal.
Le défi : filtrer les paiements via payment link
Avant d'aborder la mise en place, il vaut la peine de comprendre pourquoi il ne suffit pas d'activer une notification. Quand un client finalise un payment link, ce qui se passe en réalité est que Stripe crée une Checkout Session. C'est le même mécanisme que celui souvent utilisé par les checkouts du site, les inscriptions à des abonnements, et d'autres flux de paiement. Tous déclenchent le même événement checkout.session.completed dans Stripe pour signaler la fin d'un flux Checkout.
Ainsi, si nous configurons un workflow qui se déclenche sur chaque checkout.session.completed, nous serons notifiés de tous les paiements de checkout, pas uniquement ceux issus des payment links. Il nous faut donc un moyen de dire à notre workflow : « ne te déclenche que pour les paiements issus de payment links ».
L'approche idéale serait d'ajouter des metadata personnalisées sur le payment link et de filtrer dessus. Si nous créons les payment links via l'API, c'est facile. Mais nous voulons ici une solution no-code. Le dashboard Stripe n'expose pas actuellement de champ metadata lors de la création d'un payment link via l'interface. Il faut donc une autre approche.
C'est ici qu'intervient le Client Reference ID.
Utiliser le Client Reference ID
Quand on crée un payment link dans le dashboard Stripe, une petite fonctionnalité puissante se cache à la vue de tous. À côté de l'URL générée, vous verrez un bouton « + URL parameters ».
En cliquant dessus, une fenêtre s'ouvre permettant d'ajouter des paramètres supplémentaires au lien, dont un Client Reference ID. Ces paramètres sont très utiles pour suivre l'efficacité des payment links. Le client reference ID est un champ texte libre qui est transmis à la checkout session quand le client paie. Conçu à l'origine pour relier les paiements à vos références internes, il fait office de marqueur idéal sur lequel filtrer dans notre workflow.
Lors de la création d'un payment link pour un client, le processus ressemble à ceci :
- Créer le payment link normalement dans le dashboard Stripe
- Cliquer sur « + URL parameters » à côté du lien généré
- Sélectionner « Client Reference ID » et saisir une référence - cela peut être un nom de client, une référence de commande, ou les initiales du membre d'équipe qui le crée
- Cliquer sur « Copy » pour copier l'URL complète avec le paramètre dans le presse-papier
- Envoyer le lien au client par e-mail, WhatsApp, etc.
La référence saisie a une double utilité : c'est le marqueur qui dit à notre workflow « il s'agit d'un paiement payment link », et c'est aussi une référence utile dans l'e-mail de notification, par exemple le client ou le membre d'équipe concerné.
Point clé à retenir : les checkout sessions classiques de notre site n'auront pas ce champ renseigné. Les payment links pour lesquels vous avez ajouté un client reference ID l'auront. C'est ce qui nous permet de distinguer ces transactions dans la configuration de notre workflow.
Autre point utile : ces paramètres peuvent être modifiés à chaque envoi du lien. On peut vendre un produit comme un livre avec une URL de payment link buy.stripe.com/abcd, et l'envoyer au client 1 sous la forme buy.stripe.com/abcd?client_reference_id=customer_1, mais au client 2 sous la forme buy.stripe.com/abcd?client_reference_id=customer_2. Même produit, un seul payment link créé, mais les paiements de plusieurs clients suivis individuellement.
Mise en place du workflow
Maintenant que nos payment links portent un client reference ID, nous pouvons construire un workflow qui ne se déclenche que pour ces paiements. Voici comment le configurer :
1. Créer un nouveau workflow
Rendez-vous dans Workflows depuis le dashboard Stripe et cliquez sur « Create workflow ». Cliquez sur le label « Untitled Workflow » en haut et donnez-lui un nom parlant.
2. Définir le déclencheur
Cliquez sur l'invite « Add a trigger » au centre de l'écran. Une liste de tous les événements disponibles vous sera proposée. Choisissez « Checkout session is complete » comme événement déclencheur. Il se déclenche à chaque fois qu'une checkout session se termine sur le compte.
3. Ajouter une condition
C'est l'étape essentielle. Il faut ajouter une condition qui vérifie si la checkout session contient un client reference ID. Un menu « Trigger Conditions » devrait être apparu à droite de l'écran lors de la sélection de « Checkout session is complete ».
Dans le panneau Trigger Conditions, cliquez dans le premier champ et sélectionnez Client Reference ID. Dans le menu déroulant suivant, choisissez « is not empty ». Peu importe la valeur du champ, l'important est qu'il ne soit pas vide. Cela signifie que le workflow ne se poursuivra que pour les checkout sessions où un client reference ID a été fourni, c'est-à-dire nos paiements payment link. Les paiements classiques du site n'auront pas ce champ et seront donc ignorés.
4. Ajouter l'action
Cliquez sur « Add a Step » dans la deuxième boîte au centre de l'écran, puis sur « Add Action ». Dans la liste qui apparaît, choisissez « Email team member », et un panneau latéral s'ouvre.
Dans le premier menu déroulant, sélectionnez les personnes à notifier. La liste est alimentée par les utilisateurs du compte Stripe : on ne peut pas envoyer un e-mail arbitraire à quelqu'un qui n'est pas sur le compte. Le champ Body permet de saisir un message gabarisé.
C'est la section « Append data » qui nous intéresse vraiment. Cliquer sur « Add item » fait apparaître « My label » et « Value ». Utilisez Value pour auto-compléter des champs comme Client Reference ID, Amount, Customer Email et Name. Le bouton « Preview » montre un aperçu de l'e-mail.
5. Publier
Une fois la configuration validée, cliquez sur « Publish » en haut de la page. Le workflow est désormais actif et enverra une notification par e-mail à chaque finalisation d'un payment link avec un client reference ID.
Pourquoi pas Zapier ?
C'est en fait la première question que notre client a posée : « Avons-nous besoin de Zapier pour cela ? ». L'hypothèse est légitime, puisque Zapier et ses équivalents sont depuis des années la solution privilégiée pour ce type d'automatisation autour de Stripe.
L'avantage de Workflows, c'est que tout reste dans Stripe. Pas d'abonnement supplémentaire, pas de compte tiers à gérer, pas d'inquiétude sur des limites d'API ou des quotas Zapier, et pas de risque que l'intégration casse parce qu'un service externe a changé son API. C'est natif, c'est gratuit (inclus dans le compte Stripe) et c'est maintenu par Stripe au sein de sa plateforme.
Pour des automatisations plus complexes, les outils externes ont toujours leur place. Mais pour des notifications ciblées comme celle-ci, Workflows est le choix le plus simple et le plus fiable.
Pour conclure
Pour résumer la configuration complète :
- Créer les payment links normalement, mais toujours ajouter un Client Reference ID via l'option URL parameters
- Créer un workflow déclenché par « Checkout Session is complete »
- Ajouter une condition qui filtre sur les sessions où Client Reference ID n'est pas vide
- Ajouter une action e-mail avec le ou les destinataires et les détails de paiement pertinents
- Publier - et c'est terminé
Stripe Workflows est encore un produit relativement récent, et de nouveaux triggers, conditions et actions y sont ajoutés régulièrement. Si nous nous appuyons aujourd'hui sur des scripts ponctuels ou des intégrations tierces pour des automatisations simples comme celle-ci, il vaut la peine de vérifier si Workflows peut désormais s'en charger nativement. Très probablement, oui.