Subscriptions

Every subscription state, one entitlement you can trust

Trials, renewals, refunds, and recovery. One verified answer to what each customer can access.

  • Server-trusted entitlements
  • Grace + dunning built in
  • Cross-platform by default

The subscription lifecycle

Messy store states, one clean answer

Trial, renewal, grace, recovery. Every store event resolves to the access your customer has now.

Server-trusted access

One check. Granted or revoked. Never guessed.

Check access against verified store receipts. Refunds and expired grace periods update the entitlement.

  • Computed from verified receipts
  • Refund revokes on the store event
  • Deterministic, cache-friendly reads
Pro entitlement
app_user_id: u_812
Active
Product
pro_annual
Renews
in 214 days
Platform
iOS · synced
Store
App Store
entitled: true

Grace & dunning

Paying users stay unlocked while the retry runs

Keep access open during the store’s grace period. Restore it when payment recovers.

Billing recovery73% recovered
Failed
Retry
Recovered
Revenue saved this month+$5,280
Revenue recovered73% recovered

Collected MRR + the slice grace & Smart Retries saved

Collected Recovered
+$5,280 saved

Trials & offers

Trials, intro pricing, and win-backs without the timer math

Every offer type the stores support, modeled for you and resolved into one current entitlement.

Free trials

Entitled from the first tap; billed only on conversion. Trial state is tracked for you.

Intro offers

Discounted first period or pay-as-you-go intro pricing, modeled per store.

Win-back offers

Re-engage churned users with an offer that restores entitlement the moment it's redeemed.

Upgrades & downgrades

Plan changes and proration the stores' way, resolved into one current entitlement.

Cross-platform

Bought on iOS. Unlocked on the web.

One customer identity. Consistent access across iOS, Android, and your backend.

  • Keyed to your app_user_id
  • Instant sync after purchase
  • Survives reinstall & device swap
A person holding a phone showing a subscription renewal
folio.
MONDAY, JUNE 16A little more focus.3 things. One good day.
Morning pagesPersonal · 8:30 AMDone
Make something greatCreative time · 10:00 AM
Room for a new ideaNotes · Just for you
Focus session24:59● ● ● ○
Productivity · premium

Less noise. More done.

Make space for your best ideas.

Yearly/ year$39.99
Monthly/ month$5.99
Try Folio Pro
Cancel anytime · Restore purchases
entitlement keyed to app_user_id: u_812
iOSpurchased
Androidunlocked
Webunlocked

Edge cases handled

The billing states that break spreadsheets

By hand
With CashSDK
Upgrades and proration
Manual math per store
Prorated automatically
Trials
Timers you track yourself
Trial state built in
Grace period
Locked-out paying users
Access kept during retries
Refunds
Access lingers after refund
Revoked on the refund event
Cross-platform
Separate state per store
One entitlement everywhere
“CashSDK gives us one entitlement to check, and grace periods and refunds just resolve correctly.”
Elena Duarte · Head of Subscriptions

Model every subscription state correctly

Trials, renewals, grace, and refunds resolve to one entitlement your app can trust. Wire it up in an afternoon.