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.