Recovering a Lovable SaaS that was charging customers but not granting access
Founder's Lovable SaaS had Stripe webhooks silently failing for 3 weeks. Refunded customers, fixed the webhook, hardened the subscription model.
Industry
B2B SaaS
Duration
8 days
Investment
$4,500
Outcomes
- 8 customers refunded and re-onboarded with proper access
- Stripe webhook reliability moved from 14% to 100%
- Subscription state recovery script run against existing customers
- Founder shipped 2 new features in the following 30 days without breakage
The situation
A bootstrapped founder reached out via the free scan. Their Lovable-built SaaS was live, accepting payments, but a quarter of paying customers were emailing support saying they could not access the product. They had been refunding case by case for 3 weeks and were close to giving up.
The audit
The $100 audit pinpointed the issue within 20 minutes: Stripe webhooks were firing, but the signature verification used an old STRIPE_WEBHOOK_SECRET that no longer matched the live endpoint. Worse, the webhook handler swallowed errors silently, so the founder had no visibility into the failures. We also found the subscription model had no idempotency guard, so even when webhooks did fire, race conditions could leave a customer in a half-paid state.
The work
Rotated the webhook secret. Rewrote the handler to verify signatures correctly and return 4xx on signature failures so Stripe could retry. Added idempotency keys to subscription updates. Wrote a recovery script that pulled Stripe's last 90 days of events and reconciled the subscription state for every affected customer. Added error monitoring via Sentry so the next failure would surface immediately.
The result
Every customer who had paid but lacked access was granted the right subscription tier within 48 hours. The webhook now operates at 100% reliability. The founder shipped two new features in the following month without breakage because the underlying state model was finally trustworthy.
“I had refunded 6 customers over 3 weeks and was about to refund 2 more before they reached out. FinishLine identified the root cause in 20 minutes during the audit. Worth ten times the price.”
— Bootstrapped SaaS founder, $40k ARR
Sound like your project?
Most engagements start with a $100 audit. Real diagnosis, real scope, no commitment beyond it.
Start a $100 Audit