Why it happens
Stripe retries a failing endpoint for about three days, then turns it off. Anything that made the endpoint answer with something other than 2xx for that long ends here: a missing signing secret, a route that crashes, a domain that moved.
How to tell
- Endpoint status Disabled under Stripe › Developers › Webhooks, with the failure history and the status code your app returned.
- No webhook events reaching the app; the payments exist only in Stripe.
- Very often a deploy or a domain change about three days earlier.
The fix
- Fix the cause first. The failure history says which status your app returned; the entries on this site for a missing secret and for signature failures cover the two usual ones.
- Re-enable the endpoint in Stripe.
- Replay the missed events from the endpoint's event log, so the orders from the gap are fulfilled.
- When you move domains, keep an endpoint on the old address for a week alongside the new one.
Where to look
The prompt for your builder
Paste this into Lovable, Bolt, Cursor, Claude Code or whatever built the app. Replace anything in capitals. It never asks you to paste a secret into a chat; keys go into your host’s environment, by you.
My Stripe webhook endpoint was disabled after days of failed deliveries. Add a GET handler to my webhook route that returns 200 so I can check it is deployed, make the POST handler log the event type and the outcome of every delivery, and write a small script that replays Stripe events from a given date range through the handler so I can fulfil the orders that were missed.
How Keelnest catches it
Revenue Guard reads webhook endpoint state from Stripe on every check and names a disabled endpoint as evidence the moment it changes; a quiet hour against the baseline confirms what it cost.
Know the moment this happens.
Keelnest watches your production app every five minutes and tells you in plain English what broke — with the fix. Free for your first app.
Related
- Payments stop after a deployCheckout reaches the pay step and stalls, or orders never show as paid — and it started right after a publish.The fix
- “Webhook signature verification failed”Every Stripe delivery gets a 400 back, and your error log repeats the same line.The fix
- Checkout succeeds; the order never happensCustomers pay. The app never sends the email, creates the account, or unlocks the thing they paid for.The fix