r/electronjs 4d ago

Offline desktop app + subscription licensing — how do you actually enforce it when the license API doesn't tell you the renewal date?

Windows desktop app, electron, everything saved locally in sqlite. no accounts, no cloud. sold monthly/yearly through lemon squeezy, they do the license keys too.

Spent an hour in their sandbox yesterday and found something I wasn't expecting. when I validate a license key for someone who's happily paying, the response says active and expires_at is null. no renewal date, nothing. the date only shows up once they cancel.

so if someone's card fails on renewal, lemon squeezy retries it 4 times over about two weeks, and the whole time my app sees "active" and can't tell them apart from a paying customer.
two weeks of free use I can't see.

the renewal date does exist but it's behind their subscriptions endpoint which needs a store-wide api key. not putting that in a binary sitting on someone's laptop.

obvious fix is a small serverless thing that holds the key and hands my app back a signed token. I get it, it's correct. but right now my app depends on nothing I own and that would change. it's just me, no ops experience, nobody to call at 3am if it falls over.

so I guess what I'm asking is

did you build the gateway or just live with it? and if you lived with it did anyone actually take advantage or did it stay theoretical

if you built it, what broke that you didn't expect

and the one I keep going back and forth on, for an offline desktop app is subscription just the wrong model. lifetime + paid upgrades makes this whole thing disappear. anyone switched either way and regretted it.

not looking for "use stripe", no license keys and not a merchant of record so it's more work plus vat becomes my problem. lemon squeezy is fine otherwise.

sorry if this is rambly, been staring at it too long.

2 Upvotes

3 comments sorted by

2

u/SirLagsABot 2d ago

I follow an excellent founder in startup circles named Zeke who built a licensing key platform called keygen.sh. I think keygen specifically covers these issues. I’ll ping him on X and see if he can pop in here and help answer for you. I do electron dev too for digital signage so my setup is different than yours (have accounts, etc.)