Receives and processes Stripe webhook events. The request must include a valid Stripe-Signature header — Stripe adds this automatically.
Handled events:
checkout.session.completed — fulfills one-time purchasescustomer.subscription.updated — updates subscription tiercustomer.subscription.deleted — downgrades to the highest remaining one-time tierStripe-Signature header is added automatically by Stripe and is used to verify the payload. Requests without a valid signature return 400.
Handled events:
| Event | Action |
|---|---|
checkout.session.completed | Fulfills one-time purchases (enthusiast tier) |
customer.subscription.updated | Syncs subscription tier changes |
customer.subscription.deleted | Downgrades to the highest remaining one-time purchase tier, or free |
Webhook signature from Stripe — used to verify the payload
Standard Stripe event object. See Stripe docs for the full shape.
Event processed
The response is of type object.