Stripe Webhooks Not Firing or Failing (302, 400, 500, Timeout)

Share
Workaround available Web, API Updated November 13, 2026Based on 4 user reportsHow we research

Quick answer

Stripe treats redirects as failures and needs a quick 2xx response. Open Workbench > Webhooks > Event deliveries and match the status code to the fix.

Most likely fix: Read the delivery log

How to fix it

Try these in order — the most common fix is first.

  1. 1. Read the delivery log

    1. Workbench > Webhooks > your endpoint > Event deliveries
    2. Open a failed event to see the HTTP status and next retry time
    Did this fix it?
  2. 2. Fix by status

    1. 302/3xx: set the endpoint to the final redirected URL
    2. 400/401/403/404/405: make sure the URL is public and accepts POST; exempt it from CSRF in Rails or Django
    3. 500: read your application logs
    4. TLS error: run an SSL server test and use TLS 1.2 or 1.3
    5. Timeout: return 200 first and process asynchronously via a queue
    Did this fix it?
  3. 3. Recover missed events

    1. Stripe retries undelivered events for up to three days
    2. List Events with delivery_success=false (events from the last 30 days only)
    3. Deduplicate by event ID before processing, then return 200
    Did this fix it?
  4. 4. Avoid duplicates

    1. Store processed event IDs; Stripe can deliver an event more than once
    Did this fix it?

Symptoms

Events show Failed or Pending, your handler never runs, or you see 3xx, 4xx, 5xx, TLS or timeout errors.

Why it happens

  • Endpoint not publicly reachable
  • Redirect (302 or other 3xx) on the endpoint URL
  • 4xx from auth, CSRF protection or a wrong method
  • 5xx from an exception in your handler
  • TLS below 1.2 or a bad certificate chain
  • Slow synchronous processing causing timeouts

This guide also covers

  • stripe webhook not working
  • stripe webhook 302
  • stripe webhook timeout
  • stripe webhooks not firing
  • stripe webhook failed delivery

Still not working?

If Stripe keeps failing, you're not alone. See every Stripe problem users report or the alternatives people switch to.

Need a custom web app or internal tool? Our small team builds it, on your domain or hosted by us. Price agreed together.

Get a quote
Fixed it? Share this guide

Other Stripe errors

All 12 Stripe errors and fixes →