Skip to content
Superapp
Esc
navigateopen⌘Jpreview
On this page

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.