Webhook event types
This page lists event types accepted by merchant-public WebhookEndpoints. Availability still depends on whether the source product can emit the event.
How to read this catalog
Each type has an implementation status inside the platform:
Internal routing
Each merchant-public endpoint has an enabled_events allow-list. Use an exact
type below or the * wildcard.
Stripe-shaped types (16)
A few types collapse several states
Some Stripe types intentionally cover more than one underlying platform state —
branch on a field of data.object, not on a finer-grained type:
payment_intent.succeededcovers both a one-step sale and a captured authorization.charge.dispute.closedcovers a dispute that was won, lost, or expired — read the dispute’sstatusto tell which.mandate.updatedcovers a mandate becoming active or being revoked — read the mandate’sstatus.
Example bodies — implemented internal projections
The data.object is always a clean public shape. See delivery
safety. Abbreviated examples:
For Dormant types, the example body will be published when the source resource
ships; the data.object will be the public Stripe shape of that resource.
These shapes are internal implementation evidence. See the webhook migration boundary before planning a public integration.
Platform-native types (9 hs.*)
Internal projections with no Stripe equivalent use a stable hs.<snake_case>
name rather than being dropped. Their data.object is the platform resource
shape. This naming is not a merchant-public delivery promise.
The internal * wildcard
The platform routing model recognizes * as a merchant-public subscription to
every event type that the merchant and mode are allowed to receive.