Webhooks Connect
Stripe utilise des webhooks pour informer votre application qu’un événement s’est produit sur votre compte. Toutes les intégrations Connect doivent créer un endpoint de webhook chargé d’écouter les événements Connect.
Webhooks Connect
Il existe différents types de webhooks :
- Les webhooks de compte sont destinés à l’activité de votre propre compte (par exemple la plupart des requêtes effectuées à l’aide de vos clés API et sans authentification en tant que compte Stripe tiers). Cette activité inclut tous les types de débits, sauf ceux réalisés directement sur un compte connecté.
- Les webhooks Connect concernent l’activité de tout compte connecté. Tous les événements du compte connecté sont envoyés aux webhooks Connect, y compris l’événement important
account.updated
pour tout compte connecté et les paiements directs.
Lors de la création de votre webhook, assurez-vous qu’il est configuré de sorte à recevoir les événements de webhook Connect. Pour ce faire, utilisez l’API et définissez le paramètre connect sur true
lors de la création du endpoint de webhook ou utilisez le Dashboard.
En ce qui concerne les webhooks Connect, il est important de noter que même si seuls les webhooks de test seront envoyés à vos URL de webhook de développement, les webhooks de test et de production seront envoyés à vos URL de webhooks de production. En effet, vous pouvez effectuer des transactions en mode production et en mode test depuis une application en production. Ainsi, nous vous recommandons de vérifier la valeur livemode
lorsque vous recevez un webhook d’événement afin de déterminer quelle mesure vous devez éventuellement prendre.
Comme indiqué dans la documentation consacrée à l’objet Event, chaque événement d’un compte connecté contient également une propriété account
de niveau supérieur. Celle-ci indique le compte auquel le webhook est envoyé et le data[object]
dont elle dépend. Dans la mesure où ces objets dépendent d’autres comptes, vous devez effectuer des requêtes à l’API au nom du compte connecté concerné pour pouvoir y accéder.
{ "id":
, "livemode": true, "object": "event", "type": "customer.created", "account":"{{EVENT_ID}}", "pending_webhooks": 2, "created": 1349654313, "data": {...} }"{{CONNECTED_ACCOUNT_ID}}"
Stripe recommande d’écouter plusieurs événements liés aux comptes :
Événement | Type de data.object | Description |
---|---|---|
account.application.deauthorized | application | Occurs when a connected account disconnects from your platform. You can use it to trigger cleanup on your server. Available for connected accounts with access to the Stripe Dashboard, which includes Standard accounts. |
account.external_account.updated | Un compte externe, tel que card ou bank_account | Se produit lorsqu’un compte bancaire ou une carte de débit associé(e) à un compte connecté est modifié(e), ce qui peut avoir des conséquences sur les virements. Disponible pour les comptes connectés contrôlés par votre plateforme, comptes Custom et Express compris, et pour les comptes Standard pour lesquels les contrôles de la plateforme sont activés. |
account.updated | account | Permet de surveiller les évolutions des exigences et les changements d’état qui affectent les comptes connectés. Disponible pour tous les comptes connectés. |
balance.available | balance | Occurs when your Stripe balance has been updated (for example, when funds you’ve added from your bank account are available for transfer to your connected account). |
payment_intent.succeeded | payment_intent | Occurs when a payment intent results in a successful charge. Available for all payments, including destination and direct charges. |
payout.failed | payout | Occurs when a payout fails. When a payout fails, the external account involved will be disabled, and no automatic or manual payouts can go through until the external account is updated. |
person.updated | person | Si vous utilisez l’API Persons, vous pouvez suivre les évolutions des exigences et les changements d’état des personnes. Disponible pour les comptes connectés contrôlés par votre plateforme, comptes Custom et Express compris, et pour les comptes Standard dont les contrôles de la plateforme sont activés. |
Les événements répertoriés ci-dessus sont ceux que nous recommandons généralement aux intégrations Connect d’écouter. Toutefois, de nombreux autres types d’événements peuvent présenter un intérêt.
Tester vos webhooks en local
Vous pouvez tester vos webhooks en local à l’aide de l’interface de ligne de commande Stripe.
Si vous ne l’avez pas encore fait, installez l’interface de ligne de commande Stripe sur votre ordinateur.
Connectez-vous à votre compte Stripe et configurez l’interface de ligne de commande en exécutant la commande
stripe login
.Autorisez votre hôte local à recevoir un événement simulé sur votre compte connecté en exécutant la commande
stripe listen --forward-to localhost:{PORT}/webhook
dans une fenêtre de terminal et la commandestripe trigger {{EVENT_NAME}}
dans une autre.
Note
Pour les webhooks Connect, utilisez --forward-connect-to
avec stripe listen
et --stripe-account
avec stripe trigger
.