One entitlement can be granted by many products (monthly, annual, a lifetime purchase), and it stays active as long as any granting purchase is valid.
Core concepts
The building blocks of CashSDK: apps, products, entitlements, offerings, paywalls, and customers.
A quick mental model of the objects you'll work with.
App#
An app is a single mobile or web application in your workspace. It holds store credentials, a product catalog, paywalls, and its own API keys.
Product#
A product maps to a purchasable item in the App Store or Google Play — a
subscription, a consumable, or a non-consumable. Products are identified by a
stable id like pro_monthly.
Entitlement#
An entitlement is a level of access, such as pro. Products grant
entitlements. Your app asks CashSDK whether an entitlement is active rather than
checking individual products — so you can change pricing and packaging without
touching client logic.
Offering#
An offering is a set of products presented together — for example a monthly and an annual plan. Offerings are what your paywall renders.
Paywall#
A paywall is the screen that sells an offering. Paywalls are configured server-side and fetched at runtime, so you can change and experiment on them over the air.
Customer#
A customer is a person, identified by an app_user_id you assign. CashSDK
unifies a customer's purchases across devices and platforms so entitlements
follow them everywhere.
Transaction & event#
Every purchase, renewal, and refund produces a transaction and emits an event. Events are streamed to your backend via webhooks and power analytics.