Build an Apple StoreKit paywall
Sell directly through Apple with native StoreKit products and subscription views.
A direct StoreKit paywall keeps the purchase architecture inside Apple’s frameworks. It is a strong fit for a focused Apple-only app with a small catalog and stable pricing strategy.
Choose the native presentation
- ProductView: present one product using Apple-provided purchase behavior.
- StoreView: merchandise a collection of in-app purchase products.
- SubscriptionStoreView: present plans in an App Store Connect subscription group, including eligible introductory offers.
- Custom SwiftUI paywall: design the complete interface while using StoreKit for product data, purchases, and verified access.
1. Create products in App Store Connect
Choose the product type, identifiers, pricing, localization, and subscription group. Keep a record of every exact identifier used by the app.
2. Ask Superapp for StoreKit 2
Describe what is paid, when the paywall appears, and whether you want Apple’s native subscription view or a custom SwiftUI design.
3. Unlock from verified state
The app must evaluate verified transactions and current subscription status whenever protected content appears. Never grant permanent access from a local preference alone.
4. Handle the lifecycle
Account for pending purchases, cancellation, expiration, billing retry, revocation, upgrades, downgrades, and restored purchases.
The tradeoff
StoreKit removes an external subscription service and gives you native Apple UI, but the app owns more of the state model, diagnostics, analytics, and backend coordination. A custom paywall change may also require a new app release when its content is hardcoded.