Skip to main content
Six lifecycle events. There are no per-second events: the meter accrues continuously and your server hears about the moments that change what a customer is entitled to. Every body has the same envelope: id (evt_…), type, created, livemode, pending_webhooks, and data.object, the object the event is about. Handle events by evt_ id; a retry delivers the same id again.

Payloads

These are generated from the platform’s own sample objects and validated against the Event schema in the API reference on every build.
checkout.session.completed
subscription.created
subscription.updated

subscription.canceled

subscription.canceled
invoice.settled
invoice.payment_failed

Ordering

Events for one subscription arrive in lifecycle order, but two can land within the same second. subscription.canceled and its final invoice.settled are the common pair. Key your state on the subscription id and let a canceled status win.