Configuration du webhook Stripe
Si vous avez connecté Stripe via Connect with Stripe, cette page vous guide dans l'unique étape manuelle que Stripe exige ensuite : créer vous-même un endpoint webhook dans votre propre tableau de bord Stripe, écran par écran.
Avant de commencer
- Cela ne concerne que Connect with Stripe. Si vous avez connecté Stripe en saisissant vous-même votre Clé secrète et votre Clé publique (voir Paiements — Connecter Stripe), Agon enregistre le webhook automatiquement et vous n'avez pas besoin de cette page.
- **Pourquoi vous devez le faire vous-même : ** Stripe ne permet pas à un compte connecté par OAuth (« Connect ») d'enregistrer automatiquement des endpoints webhook — c'est une restriction du côté de Stripe, pas une limitation d'Agon. Vous ne devez le faire qu'une seule fois.
- Ayez l'URL webhook de votre studio sous la main. Elle est affichée dans Agon sous Paramètres → Facturation, et ressemble à
https://studio-<id-de-votre-studio>.agon-studio.dev/api/billing/webhook— unique à votre studio. Gardez cette page ouverte dans une autre fenêtre ou un autre onglet pour pouvoir la copier à l'étape 7.
Étapes
-
Ouvrez votre tableau de bord Stripe et allez dans Developers → Webhooks — ou directement dans Workbench → Webhooks.
-
Cliquez sur Add destination.

-
Stripe ouvre un assistant Create an event destination en trois étapes : Select events → Choose destination type → Configure your destination.
-
Dans Select events, sous Event destination scope, choisissez Your account — pas Connected accounts, réservé aux plateformes qui écoutent les événements des comptes Stripe d'autres personnes. Votre studio est ce compte. Sous Payload style, laissez Snapshot sélectionné — pas Thin ; Agon a besoin de l'objet d'événement complet, pas seulement d'un identifiant à récupérer ensuite. Laissez API version sur la valeur proposée par défaut par Stripe.

-
Toujours dans Select events, utilisez le champ de recherche Find event by name or description… — bien plus rapide que de parcourir tout l'arbre des catégories — et cochez exactement ces 6 événements, un par un :
checkout.session.completedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedinvoice.paidinvoice.payment_failed

Une fois les 6 cochés, cliquez sur Continue.
-
Dans Choose destination type, sélectionnez Webhook endpoint — la première option. Les deux autres, Amazon EventBridge et Azure Event Grid, servent à router les événements vers votre propre infrastructure cloud et ne s'appliquent pas ici. Cliquez sur Continue.

-
Dans Configure your destination, Stripe affiche un résumé de vos choix (Events from: Your account, Payload style: Snapshot, Listening to: 6 events), suivi de trois champs :
- Destination name — facultatif, n'importe quel nom convient (par exemple « Agon »). Sert uniquement de repère dans votre tableau de bord Stripe et n'a aucun effet fonctionnel.
- Endpoint URL — collez ici l'URL webhook de votre studio depuis la page Paramètres → Facturation d'Agon, exactement telle qu'affichée. Ne la saisissez pas à la main — la moindre faute de frappe empêche définitivement Stripe d'atteindre votre studio.
- Description — facultatif, peut rester vide.
Cliquez sur le bouton pour créer la destination.

-
Stripe affiche maintenant un Signing secret pour votre nouvelle destination, parfois caché derrière un contrôle « reveal » à cliquer d'abord. Copiez-le.
-
Dans Agon, allez dans Paramètres → Facturation et collez-le dans le champ Secret webhook — le même champ que celui décrit dans Paiements — Connecter Stripe, toujours visible sur cette page plutôt que caché derrière une option supplémentaire. Cliquez sur Enregistrer.
Que faire si quelque chose ne va pas ?
Je ne sais pas s'il faut choisir « Your account » ou « Connected accounts »
Choisissez Your account. Votre studio est le compte Stripe que vous configurez — Connected accounts ne s'applique que si vous étiez une plateforme recevant les événements des comptes Stripe séparés d'autres personnes, ce qui n'est pas le cas ici.
Mes paiements restent affichés comme En attente après cette configuration
Vérifiez que l'Endpoint URL a été collée exactement, sans caractère en trop ni segment manquant, et que le Secret webhook enregistré dans Paramètres → Facturation correspond bien au signing secret affiché par Stripe pour cette destination précise. Voir aussi Paiements — Que faire si quelque chose ne fonctionne pas ?.
Je dois ajouter un événement plus tard ou changer l'URL
Rouvrez la destination depuis Workbench → Webhooks dans votre tableau de bord Stripe et modifiez-la là-bas. Vous n'avez besoin de mettre quoi que ce soit à jour dans Agon que si le signing secret change aussi.