Every subscription state, one entitlement you can trust
Trials, renewals, grace periods, refunds, and win-backs are messy across the stores. CashSDK reconciles them into a single server-trusted answer to what each user can access — the same answer on iOS, Android, and web.
- Server-trusted entitlements
- Grace + dunning built in
- Cross-platform by default
The subscription lifecycle
Messy store states, one clean answer
A subscription is a clock, not a flag. It starts a trial, converts, renews, misses a payment and enters grace, recovers or churns, and sometimes comes back on a win-back offer. CashSDK models every transition from the store server notifications so your app only ever asks one question: is this user entitled right now?
7-day free trial. Entitled from minute one; billed only if it converts.
Paid and current. $8.99/mo, renews day 214.
Auto-renewal cleared. Entitlement extends without a round-trip.
Payment failed. Grace period keeps access on while retries run.
Grace expired. Entitlement revoked the moment the window closes.
A win-back offer re-subscribes them; access is restored instantly.
Server-trusted access
One check. Granted or revoked. Never guessed.
Your client never decides who's Pro — it asks CashSDK, and the answer is computed server-side from verified store receipts. When a refund, chargeback, or grace expiry lands, the entitlement flips to revoked before the next check returns. No stale flags, no client trust.
- Computed from verified receipts
- Refund revokes on the store event
- Deterministic, cache-friendly reads
- Product
- pro_annual
- Renews
- in 214 days
- Platform
- iOS · synced
- Store
- App Store
Grace & dunning
Paying users stay unlocked while the retry runs
A failed renewal isn't a churned customer. CashSDK opens the store's grace window, keeps the entitlement live while Smart Retries work, and only revokes if the window truly closes — then reopens access the instant payment recovers.
Collected MRR + the slice grace & Smart Retries 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.
A subscription purchased in the iOS app entitles the same person in your Android app and your web app — because entitlement lives on the CashSDK server, keyed to your app_user_id, not to a store or a device. Reconciliation is instant after purchase and survives reinstalls.
- Keyed to your app_user_id
- Instant sync after purchase
- Survives reinstall & device swap

Unlock Pro
Everything you need, no limits.
Cancel anytime · Restore purchase
Edge cases handled
The billing states that break spreadsheets
“CashSDK gives us one entitlement to check, and grace periods and refunds just resolve correctly.”
Model every subscription state correctly
Trials, renewals, grace, and refunds resolve to one entitlement your app can trust. Wire it up in an afternoon.