Payments & Fintech
Stripe

Stripe webhook returns 401 on Supabase Edge Functions (Lovable, Bolt): the --no-verify-jwt fix

You connected Stripe to your Lovable, Bolt or hand-written Supabase app. Checkout works and the payment shows up in Stripe. But the user never gets Pro. In Stripe → Developers → Webhooks → your endpoint →...
dev.to
November 2, 2026
7
Stripe webhook returns 401 on Supabase Edge Functions (Lovable, Bolt): the --no-verify-jwt fix
WHAT HAPPENED
)!,undefined,cryptoProvider,);}catch(err){console.error( :{constsession=event.data.objectasStripe. Checkout. Session;if(session.payment_status=== Why it happens Supabase Edge Functions run a platform check calledverify_jwtbeforeyour function. It expects anAuthorization: Bearer header, which your own frontend sends automatically when it callssupabase.functions.invoke(). It signs each request with your webhook secret and puts that signature in theStripe-Signatureheader.
Continue reading from the original publisher for the complete report and source context.
READ ORIGINAL STORY