storekit

Installation
SKILL.md

StoreKit 2 (In-App Purchases & Subscriptions)

Modern async StoreKit for a fintech iOS app: sell products, verify transactions, gate entitlements, and keep the server as the source of truth. Grounded in Apple's StoreKit, StoreKit Views, and StoreKit Test frameworks (iOS 15+ APIs; iOS 26 era).

  • Use StoreKit 2 (import StoreKit, Product/Transaction), not the deprecated SKPaymentQueue/SKProduct StoreKit 1 API, for any new code.
  • Digital goods and subscriptions only. Real-world goods/services and money movement go through Apple Pay / your PSP — see passkit. Mixing them up is an App Store rejection (see app-store-review).
  • KMP boundary: IAP is Apple-native — keep it in iosMain/Swift. Expose a commonMain interface EntitlementStore { fun isSubscribed(): Boolean } and bind an actual that reads the verified StoreKit entitlement; see expect-actual and kmp-ios-integration. Never let shared code decide purchase validity.
  • Trust the server, not the client. The device signal is for UX; grant paid features from a server that validates transactions (App Store Server API) and reacts to App Store Server Notifications V2 — see references/server-and-security.md.
Installs
4
GitHub Stars
12
First Seen
Aug 23, 2026
storekit — talissonvitorino/kmp-ios-skills