#21 most commonpaymentsLovableBolt.newCursorReplitv0Windsurf
Stripe: No signatures found matching the expected signature for payload
StripeSignatureVerificationError: No signatures found matching the expected signature for payload. Are you passing the raw request body you received from Stripe?
Got a slightly different error? Paste the exact message and get a fix prompt tailored to it.
Paste your error →What it means
Stripe signs every payment notification so your app can trust it. The check failed because either the secret is the wrong one, or your app changed the message before checking it.
How to fix it: paste this prompt into your AI builder
Fix prompt for Lovable, Bolt, Cursor, Replit, v0, Windsurf
My Stripe webhook fails signature verification. In the webhook handler, verify using the RAW request body (Next.js App Router: await req.text(); Express: express.raw on that route only; Supabase Edge Function: await req.text() and constructEventAsync), the stripe-signature header, and the STRIPE_WEBHOOK_SECRET for this exact endpoint. Do not parse JSON before verifying. Don't change checkout or other routes.
If the AI can't fix it: manual steps
- Stripe Dashboard, Developers, Webhooks, your endpoint, Reveal signing secret; put that whsec_ value in your host's env vars and redeploy.
- The secret from 'stripe listen' (local testing) is different from the Dashboard endpoint secret; test and live mode secrets are also different.
Where this happens
Seen in these AI app builders and editors:
LovableBolt.newCursorReplitv0Windsurf
Sources
Related payments errors
Still stuck? Paste your full error and UnstuckMyVibe will match it and hand you the exact fix prompt.
Fix my error →