CheckoutAlarmWatch my app free

Stripe webhook endpoint disabled: turn it back on and recover events

The endpoint that tells your app "this customer paid" shows Disabled. While it is off, Stripe sends nothing to it, and it won't resend later. Turn it back on, then catch up.

Free tool: what the downtime cost and what Stripe will still retry

What it would catch here

This is the clearest case for it. With a read-only key, CheckoutAlarm lists your webhook endpoints and emails you if any one is disabled. That happens on the first check that sees it: once a day on Free, every hour on Pro. You get another email when it's fixed.

What it won't catch

It won't turn the endpoint back on or resend events. The key is read-only on purpose. It also won't know which events you meant to listen for.

Plans

Free: 1 site, checked once a day. Pro: $19 a month, up to 3 sites checked hourly. You prove you own the site first. For Stripe we only take a restricted key with read access to Events, Webhook Endpoints and Charges. Full secret keys are refused. Compare plans

Stripe stops sending

Each endpoint has a status of enabled or disabled. Stripe: webhook endpoint object You can disable one on purpose, and Stripe says it "won't attempt to resend any events generated while the destination is disabled." Stripe: disable an event destination

Pending retries stop too

If the endpoint is disabled when a retry is due, Stripe stops future retries for that event. If you turn it back on before the retry is due, retries go on. Stripe: automatic retries

In the dashboard

In Workbench, open Webhooks and click the endpoint. Enable it from its menu. Stripe: event destinations

Or with the API

The update endpoint call takes disabled: true turns it off, false turns it on. Stripe: update a webhook endpoint

Fix the reason first

If someone turned it off because it kept failing, fix the failure, or it will just fail again. See our guides on 400, 500 and timeouts and 401 errors.

List what didn't arrive

Stripe's docs show how to list events from the last 30 days with delivery_success=false and process them yourself. Stripe: process undelivered events

Skip what you already did

Mark each event as processed when you handle it. Stripe says to skip events you already handled. Stripe: process undelivered events Our missed webhooks guide covers resending too.

Subscriptions: check invoices

In live mode, if your endpoint doesn't answer invoice.created properly, Stripe can hold invoice finalization for up to 72 hours. Stripe: subscription webhooks

What happens to events while my endpoint is disabled?
Stripe's docs say it won't try to resend events created while the destination was disabled. Retries already due also stop if the endpoint is disabled when the retry comes up.
How do I turn it back on?
Open the endpoint in Workbench and enable it, or call the update webhook endpoint API with disabled set to false. Then process the events you missed.
Does Stripe disable endpoints by itself?
We couldn't find this in Stripe's official docs, so we won't claim it. Stripe's billing docs do say it emails you when a webhook is failing in live mode. Act on that email.

CheckoutAlarm emails you when any of your Stripe webhook endpoints is disabled, on the first check that sees it. It only reads. You turn the endpoint back on yourself.

CheckoutAlarm is new. It only checks sites you prove you own. How to verify

Watch my app free

Docs checked on Oct 20, 2026.