Stripe Webhooks Not Firing or Failing (302, 400, 500, Timeout)
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. Read the delivery log
- Workbench > Webhooks > your endpoint > Event deliveries
- Open a failed event to see the HTTP status and next retry time
Did this fix it?2. Fix by status
- 302/3xx: set the endpoint to the final redirected URL
- 400/401/403/404/405: make sure the URL is public and accepts POST; exempt it from CSRF in Rails or Django
- 500: read your application logs
- TLS error: run an SSL server test and use TLS 1.2 or 1.3
- Timeout: return 200 first and process asynchronously via a queue
Did this fix it?3. Recover missed events
- Stripe retries undelivered events for up to three days
- List Events with delivery_success=false (events from the last 30 days only)
- Deduplicate by event ID before processing, then return 200
Did this fix it?4. Avoid duplicates
- 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 quoteOther Stripe errors
- Stripe Account Under Review: What to Do
- Stripe Payouts Paused or Pending: Why and How to Fix
- Stripe 'Your Card Was Declined' (generic_decline, do_not_honor)
- Stripe authentication_required / 3D Secure Decline
- Stripe Webhook Signature Verification Failed
- Stripe Dispute Lost: What Happens and Can You Appeal
- Stripe Account Restricted: Verification Information Required
- Stripe Radar Blocking Legitimate Payments