What problem does it solve?
This guide removes the complexity of implementing and maintaining in-app purchases and subscriptions on iOS by documenting modern StoreKit 2 patterns for loading products, handling purchase flows, verifying transactions, and keeping entitlements correct across devices and family sharing.
Core Features & Use Cases
- Product loading and presentation: Load localized products and display paywalls or individual product views with correct pricing and metadata.
- Purchase and transaction handling: Handle purchase results, pending/Ask to Buy flows, unfinished transactions, and ensure transaction.finish() is always called after delivery.
- Entitlement and subscription management: Use current entitlements and subscription status checks to gate features, handle renewals, grace periods, billing retry, refunds, family sharing, and price increases.
- Advanced offers and server validation: Support promotional, introductory, offer codes, and win-back offers, plus server-side JWS validation and device binding for secure verification.
- Testing and review readiness: Guidance for StoreKit configuration files, sandbox testing, restore flows, and App Store review checklist to avoid common rejections.
Quick Start
Integrate StoreKit 2 into your app, start a Transaction.updates listener at launch, load your Product IDs, verify purchases before granting access, and finish transactions after delivery.