Hey IH community!
I’m on the brink of launching RevPilot, a SaaS analytics tool that syncs Stripe data. My build streak was severely tested by a transition I thought would be simple: switching from Stripe Test to Stripe Live on my Vercel domain.
- The Critical Block (The Why)
My app was frozen on the onboarding page, refusing to recognize the Stripe connection despite the banner saying "Stripe connected." The status API kept returning a persistent 401 Unauthorized.
Lesson 1 (Authentication): The culprit was an inconsistent NEXTAUTH_URL setting on Vercel. If this server-side variable doesn't exactly match your production URL (https://...), NextAuth cannot validate session cookies, locking out all secure APIs. Always double-check your environment URL variables!
- The Radical Solution (The How)
The main inconsistency was in the Supabase database, which held Test mode tokens.
Lesson 2 (Data Integrity): To force a clean state, I had to dive into the SQL Editor and run an UPDATE on the stripe_connections table to set all existing access_tokens to NULL. I also purged customers_cache and subscriptions_cache tables.
Result: Upon re-login, the application was forced to negotiate a new Live token, which immediately resolved the onboarding block.
💰 RevPilot's Utility
RevPilot gives you your key metrics (MRR, Churn, Active Customers) in one simple, fast dashboard, freeing you from over-engineered Stripe screens. Focus on growth, not navigation.
Question for the community: What was the weirdest bug you encountered when moving from Stripe Test to Live? Share your nightmare fix!
🔗 Try the early version:
revpilot-net.vercel.app