You never reconcile rails by hand. A customer who subscribes on the web with
Stripe and later reinstalls your iOS app sees the same pro entitlement,
because entitlements are keyed to the customer, not to the store that
happened to take the payment. Read Entitlements for the
model.
Billing overview
Connect the App Store, Google Play, Stripe, and merchant-of-record providers so purchases on each rail reach one entitlement model and one revenue ledger.
A billing backend is a payment rail CashSDK settles through. Your customers might pay through the App Store on their iPhone, Google Play on their Android phone, a Stripe checkout on the web, or a merchant of record like Paddle. CashSDK maps those purchases to the same entitlements your app already checks, within the limits each guide lists, and records the money in one revenue ledger for MRR and churn.
Store billing#
The primary rails for mobile revenue. Purchases run through the platform SDK and are validated server-side before any entitlement is granted.
StoreKit 2 purchases and subscriptions on iOS, iPadOS, and macOS.
Play Billing purchases and subscriptions on Android.
Web & merchant-of-record billing#
Sell on the web, or let a merchant of record handle global tax and compliance. Stripe is generally available. Paddle, Lemon Squeezy, Polar, FastSpring, Gumroad, Recurly and Chargebee are in beta: built and tested against each provider's documented webhook events, not yet run against a live account in production. PayPal is a development preview that tracks payments only.
Card payments, tax, and billing for web checkouts.
Merchant of record for SaaS and digital goods.
Developer-friendly merchant of record.
Developer-native MoR with usage billing.
Long-established MoR for desktop and SaaS.
Digital products, memberships, and downloads.
Enterprise subscription management and recovery.
Subscription billing and revenue operations at scale.
Payment and refund tracking in development.
What each provider does with access:
- Stripe, Paddle, Lemon Squeezy, Polar, FastSpring and Chargebee record revenue, and their subscriptions grant and end access.
- Recurly and Gumroad record revenue and can end access, but never grant subscription access: their webhooks carry no subscription period.
- PayPal records payments and refunds. It does not manage subscription access.
How a billing backend connects#
Every backend follows the same three steps. The specifics differ per provider, and each guide covers them in detail, but the shape is always this.
Connect the App Store and Google Play on your app's Store Connect page, and every other provider on its Marketplace page. Credentials (API keys, service-account files, signing secrets) are stored encrypted at rest and never ship in your app binary.
Match the provider's products and prices to CashSDK products and the entitlements they unlock. A purchase on any rail then resolves to the same entitlement everywhere. Payments for products your app does not sell are skipped.
Charges, renewals, and refunds settle into a single revenue view alongside every other backend: one source of truth for MRR and churn.
Choosing a backend#
- Shipping a mobile app? Use the App Store and Google Play. The platforms require their own billing for digital goods consumed in-app.
- Selling on the web or cross-platform? Stripe is the default. Reach for a merchant of record (Paddle, Lemon Squeezy, Polar, FastSpring) when you want tax and compliance handled for you across borders.
- Already have a billing engine? Keep it. Chargebee subscriptions grant and end access. Recurly and Gumroad bring their revenue into CashSDK, but your app needs another way to grant subscription access.