RESCUE · BOLT · STRIPE
Bolt.new Stripe integration not working?
Bolt's built-in Stripe integration runs on Supabase Edge Functions, so most failures are Edge Function or mode problems: the webhook function rejects Stripe because it expects a user JWT, signature checks use the sync method that does not work in Deno, or live keys, price IDs and the live webhook secret were never switched over. VibePitstop takes Bolt Stripe integrations live for $400–800 fixed.
How Bolt wires Stripe
Per Bolt's docs, the integration needs Supabase (or Bolt Database) and user auth, imports your Stripe products, and creates Edge Functions for checkout sessions, webhook processing and subscriptions. It does not work with Firebase. Source: Bolt Stripe integration.
What breaks
- 401 on every webhook: the webhook Edge Function is deployed with JWT verification on. Stripe authenticates with its signature, so that function needs
verify_jwt = falseand must verify the signature itself. - "SubtleCryptoProvider cannot be used in a synchronous context": in Deno, use
constructEventAsyncwith Stripe's SubtleCrypto provider. resource_missingafter going live: test-mode price IDs do not exist in live mode. See resource_missing.- Live payments never recorded: no live-mode webhook endpoint or the test signing secret is still set.
- Paid, but no access: see payment not unlocking the account.
Webhook verification in a Supabase Edge Function
import Stripe from "npm:stripe";
const stripe = new Stripe(Deno.env.get("STRIPE_SECRET_KEY")!);
const crypto = Stripe.createSubtleCryptoProvider();
Deno.serve(async (req) => {
const body = await req.text(); // raw body
const event = await stripe.webhooks.constructEventAsync(
body, req.headers.get("Stripe-Signature")!,
Deno.env.get("STRIPE_WEBHOOK_SECRET")!, undefined, crypto);
// handle checkout.session.completed, subscription events
return new Response("ok");
});
Source: Supabase: handling Stripe webhooks.
Want it fixed instead?
Stripe go-live: $400–800, fixed scope. The $149 diagnosis is credited toward any paid job.
Common worries, answered
- Will you mess up my repo? No. We work from read-only access, and every fix arrives as a pull request. Nothing merges until you merge it.
- Is this just more AI? AI coding agents help prepare fixes. A human reviews every fix before it ships.
- What if it still breaks? We keep working until the written scope is done, at no extra cost. Fixed, or we keep working free until it is (within the written scope).
- What about Stripe and my secret keys? Scoped access only. We never take full keys or owner logins; your secrets stay yours.
- How is this different from asking ChatGPT? We don't stop at advice. We fix and launch against a written scope.
Get a $149 diagnosis See pricing Take Stripe live
- Fixed, or we keep working free until it is (within the written scope).
- A human reviews every fix before it ships.
- read-only access; fixes arrive as pull requests you merge
- Your $149 diagnosis is credited in full toward any paid job.
FAQ
Why does Stripe work in Bolt test mode but not live?
Live mode needs live keys, live price IDs, a live webhook endpoint and its own signing secret. Each must be switched.
How much does it cost to fix Stripe in a Bolt app?
Stripe go-live is $400–800 fixed: checkout and webhooks working with live keys.
Do you need my Stripe login?
No. A restricted key, only if you choose to grant one. Secrets stay in your accounts.