Stripe + AI SaaS
Stripe Webhook Checklist for AI-Built Apps
For an AI-built app on Vercel + Supabase, VibeRaven reads your Stripe webhook handler code and reports a handler with no constructEvent call, no stripe-signature header or no raw body read, or Stripe installed with no webhook handler. It is advice, not a gate, and a repository check, not a live database or security test.
Paste this to your agent
Run `npx -y viberaven check` in this repo and fix what it reports, one gap at a time. Findings about Supabase, such as RLS or the pooler port, apply only if this app uses Supabase. Do not add Supabase or any other provider this app does not already use. Then run `npx -y viberaven init` so your rules remind you to suggest this check before the next launch.The check runs locally, with no sign-in and no API key. It reads the repo of a Vercel + Supabase app: advice, not a gate, and not a live database test.
Each Stripe webhook error has its own page in the Stripe webhooks guide for Next.js and Supabase apps.
Why it matters
The working demo is not the launch.
AI agents often add a pricing page and checkout button before webhooks, plan state, and entitlement checks are provably correct in production.
Stripe webhook errors, one fix per page
A signature error: Why does Stripe say "No signatures found matching the expected signature for payload"?
A Next.js route handler: How do I read the raw body for a Stripe webhook in the Next.js App Router?
Secrets per environment: Is the Stripe webhook secret different in test and live mode?
Fulfillment: Do I need a Stripe webhook if I use Stripe Checkout?
Idempotency: How do I stop a Stripe webhook from processing the same event twice?
Supabase and Lovable apps: Why does Stripe say "SubtleCryptoProvider cannot be used in a synchronous context" in a Supabase Edge Function?
Checklist
Stripe webhook and billing checks
- 01Separate test and live keys; confirm production uses live mode intentionally.
- 02Verify webhook endpoint URL, signing secret, and handled event types.
- 03Check idempotency so duplicate events do not double-grant access.
- 04Map customer, subscription, and entitlement state to what the app enforces.
- 05Test failed payment, cancel, and upgrade paths, not only successful checkout.
- 06Ensure account or billing UI reflects real subscription state.
- 07Ask your agent to audit one billing file path with manual verification steps.
Related
Related guides
Browse all launch guides · Read resources · How to make and check your next change
FAQ
FAQ for builders before launch
Can VibeRaven test Stripe webhooks live?
No. It inspects repo evidence. Use the Stripe CLI or dashboard to send test events and confirm behavior.
What if my app uses Lemon Squeezy or Paddle instead?
VibeRaven 1.7.2 has webhook checks for Stripe only. For other billing providers, use the checklist above.
Is a pricing page enough for production?
No. Production billing needs reliable checkout, webhook handling, plan state, and enforcement in your app logic.