Launching today

Lirova
Recover Stripe subscription payments that fail on the card
5 followers
Recover Stripe subscription payments that fail on the card
5 followers
When a renewal fails, the customer usually didn't decide to leave. Lirova classifies each decline, retries what's worth retrying, stops what isn't, and emails only when a card actually needs updating. You pay a fee only on what we recover.





Hi, I'm Ivan. I'm building Lirova on my own and nobody is paying for it yet.
It's for SaaS founders who bill subscriptions through Stripe. When a renewal fails, Lirova looks at the decline and picks one of four lanes for that payment: retry patiently, retry quickly, ask the customer for a new card, or stop. You only pay a fee on money that came back through a Lirova retry.
I started on this because a failed renewal doesn't show up as churn anywhere. The customer never cancelled. Their card failed, and the subscription ended even though nobody chose to end it.
If you have Stripe Smart Retries on, that's Stripe picking a good moment to try the card again. Lirova is about whether to try again at all, and what the customer hears in each case. With insufficient_funds the same card usually goes through later, so it gets retried. expired_card won't go through with the same details, so the customer gets an email asking for new ones. do_not_honor looks final, but it's often a temporary block at the bank. lost_card and fraudulent never get retried; I made that call myself.
The free plan gives you 25 recoveries a month at a 20% fee, and on Growth and Scale the fee is 15% and 10%. Before recovery switches on you have to add a card for the fee, which is why I'd start with the demo. It runs on generated data at whatever volume you type in and never touches Stripe. If you'd rather look at your own numbers first, open Payments in Stripe, filter to failed and export with the decline reason.
While writing the classifier I also ended up with a reference page for every decline code we route: lirova.app/en/stripe-decline-codes
I'll be here all day. The question I care about most is whether you'd connect something like this to your Stripe account, and if you wouldn't, what's in the way.
@ivan_balias I like the idea of @Lirova and I think for products charging $20 or more it makes sense, but for lower priced products the 20% fee is a good chunk of the profit.
Thanks @codeandsea, fair point, and I went back and forth on this myself.
The fee only applies to a payment that failed and then came back through a Lirova retry. If it clears on its own, there's no fee. So it's not taken from profit you already have, it's 80% of money that would most likely have been lost.
You're right about small volume though. If a product is $5 a month and only a handful of renewals fail, the recovered amount is small no matter what, and Stripe's own retries plus its card update emails probably cover most of it. The fee drops to 15% and 10% on the larger plans, but those are for accounts with more going through.
Congrats on Mantra Timer, by the way. I like that you went with a one-off purchase, even if it means you'll never need something like this. What price point did you have in mind when you wrote this?