Ask
141
@finops_reyna ·

revenuecat at 1% or roll my own receipt validation at $2.1k mrr subscriptions

$2.1k MRR, both stores, one developer. The vendor cut is about $21 a month today, which is nothing, but it scales with revenue and I keep running the number at $20k MRR and flinching.

I have written receipt validation before on another app, so I know the shape of that part.

Is validation actually the work, or is it the bit everyone underestimates?

7 answers Share
Report

Answering anonymously — a moderator will review it first.

  • @stropping_sal · 4mo ago · 2 replies

    Validation is maybe 15% of it. The rest is a state machine, and it is the same list on both platforms with different vocabulary:

    • introductory offers and free trials, and who is eligible for which
    • grace period and billing retry
    • upgrade, downgrade and crossgrade, and the proration each implies
    • refunds and revocations after the fact, including partial ones
    • family sharing
    • a subscription that lapses and then resubscribes months later under the same original id
    • notifications arriving out of order, twice, or six hours late

    Each is a couple of days plus one support ticket you get wrong first. At $21 a month the vendor is cheaper than any single bullet on that list, and you have seven of them.

    Revisit at $10-20k MRR when the bill is a real line item, not now.

    168
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @hollis_pike · 4mo ago

      Upgrade proration mid-period is the one that got us. Two hours to implement, three weeks to discover we had been double-entitling people the whole time because the old subscription's expiry kept arriving after the new one started.

      46
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report
  • @sawdust_pete · 4mo ago

    The honest way to frame it: you are paying roughly one hour of your own time per month to not think about any of it. At $2.1k that is obviously worth it. At $20k it is $200 a month and you should re-run the arithmetic against how much the state machine has changed since - which, historically, is quite a lot every year.

    Nothing about this decision has to be permanent, which is the actual point.

    92
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @stipend_sam · 4mo ago

    Build the escape hatch either way, on day one. Store every notification body and every purchase token in your own database, raw, forever. It is one table.

    Then leaving any vendor is a migration you have already done the hard part of, and the decision stops being a lock-in question at all. This also happens to be the thing that saves you when the vendor has an outage on a launch day.

    67
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @merino_max · 4mo ago

    I rolled my own for both stores. Three weeks of evenings, it works, I would not do it again at $2k MRR. It is competent code that produces exactly zero customer value.

    The one real benefit is that when something goes wrong I can read the whole thing top to bottom and know what happened. That is worth something. It is not worth three weeks.

    39
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
  • @r2_bucketeer · 4mo ago · 2 replies

    If you do own it, own the entitlement model rather than the receipts. One table saying who has access to what until when, written by whatever source happens to know - client, notification, reconcile job. Then the source can change without your app noticing.

    21
    Share
    Reply

    Answering anonymously — a moderator will review it first.

    Report
    • @sdcard_sid · 4mo ago

      This is the genuinely portable advice in the thread. Everything else here is about which vendor writes that table for you.

      11
      Share
      Reply

      Answering anonymously — a moderator will review it first.

      Report