Webhook Not Receiving Requests - Events Not Triggered
You've registered a webhook URL but never receive requests from the service (Stripe, GitHub, etc.). The webhook endpoint is never called.
The service shows 'failed delivery' or 'pending' status.
Error Messages You Might See
Common Causes
- Webhook URL not publicly accessible or behind authentication
- Webhook endpoint returns error status code (not 200-299)
- URL has typo or wrong path
- Service can't reach your domain (firewall, development environment)
- Webhook signature validation failing, returning 401
How to Fix It
Test webhook URL is publicly accessible: curl https://your-domain.com/api/webhooks/stripe
Endpoint must return 200 status immediately: return NextResponse.json({ ok: true })
Disable signature verification temporarily to test if webhook reaches endpoint
Check webhook delivery logs in service dashboard (Stripe has 'Event' logs)
Ensure endpoint doesn't require authentication (no auth cookie checks)
Real developers can help you.
You don't need to be technical. Just describe what's wrong and a verified developer will handle the rest.
Get HelpFrequently Asked Questions
How do I test webhooks locally?
Use ngrok: ngrok http 3000, then use ngrok URL for webhook. Or use Stripe CLI for Stripe webhooks
Why would webhook reach endpoint but validation fail?
Signature verification failing. Check secret key matches, verify timestamp isn't expired (usually 5min tolerance)
Should I process webhook synchronously?
No! Return 200 immediately, process async. Webhook services timeout after ~30s