Storefront — SDK gets offers → plan → plan entitlements.
Paywalls
A paywall is a named storefront. The SDK typically does not fetch “plans” alone for UI:
getPaywall('main') already nests prices, plans, and entitlements.
SDK.getPaywall("main")
→ items[]
→ plan_price
→ plans
→ plan_entitlements → entitlements
Client checklist
- Render cards from plan + price.
- Bullets / comparison from plan entitlements (or your own static UI).
- Purchase with
plan_price_id(not free). - Feature access via
hasEntitlement, not plan display name.