Stripe webhook · symptom

Events not enabled on the endpoint (nothing arrives)

what it looks like
Payment succeeded in Stripe but my webhook never fired / no deliveries listed for the endpoint

What it means

A Dashboard endpoint only receives the event types you selected, in the mode (test or live) where you created it. Stripe CLI forwarding doesn't reach production.

Common causes

  • checkout.session.completed or customer.subscription.* not selected
  • The endpoint was created in test mode but the payment was live (or the reverse)
  • Endpoint disabled after repeated failures
  • Listening on a connected account instead of your account

How to fix it

  1. Dashboard → Developers → Webhooks → endpoint → check the event list and mode
  2. For subscriptions add checkout.session.completed and customer.subscription.created/updated/deleted
  3. Use 'Send test event' or stripe trigger checkout.session.completed to confirm delivery
verify the fix
stripe listen --forward-to localhost:3000/api/stripe/webhook
# put the whsec_... it prints in .env.local, then restart npm run dev
stripe trigger invoice.payment_failed
# test-mode Dashboard endpoints receive triggered events too

pass if The event reaches your local handler with [200] and shows up as a delivery on the test-mode endpoint in the Dashboard.

works with stripe-node 23.0.0 · Next.js 16.4.3 App Routerlast verified CLI steps: Stripe CLI 1.55.2, Oct 27, 2026

prevent it · stripe-webhooks.mdc (free Cursor Rules Pack): Checks the production endpoint is subscribed to every event type the handler switches on.

Prompt for Cursor or Claude Code

My Stripe webhook never fires. List every event.type my handler handles so I can enable exactly those on the Dashboard endpoint, and give me the stripe trigger commands to test each one locally.

Not quite your error? Paste yours into the free VibeBoot Doctor or browse the Stripe webhook fixer.

next: skip the next one

Skip the setup. The VibeBoot SaaS Starter ships Stripe Checkout, the billing portal and a signature-verified webhook already wired, plus auth and a database on Next.js 16.4.3. $49, one-time.

14-day money-back guarantee · lifetime updates

$ fixed it? get the next one first

New fixes for what AI agents break, by email.

When we add a fix or a Cursor rule for a new Next.js, Auth.js, Prisma or Stripe break, it goes out in the VibeBoot newsletter. Free, occasional, unsubscribe in one click.

Subscribe free