StoreKit 2 is Apple's modern framework for handling in-app purchases and auto-renewable subscriptions in iOS, macOS, and tvOS apps. It replaced the original StoreKit framework and provides a Swift-first, async/await API.
Key features
- Swift concurrency: Built on async/await for modern Swift code
- Type-safe: Strongly typed APIs instead of string-based product IDs
- Server notifications: App Store Server Notifications V2 for server-side event handling
- Transaction history: Local and server-side transaction verification
Subscription lifecycle
StoreKit 2 subscriptions go through several states:
- SUBSCRIBED — Customer subscribes for the first time or re-subscribes after expiration
- DID_RENEW — Subscription successfully renewed for a new billing period
- DID_FAIL_TO_RENEW — Renewal failed due to billing issues
- GRACE_PERIOD_EXPIRED — Grace period ended without successful payment
- EXPIRED — Subscription is no longer active
How Yeethook helps
Yeethook monitors all StoreKit 2 subscription events via App Store Server Notifications V2 and delivers them to Slack. This lets you:
- Track subscription revenue in real-time
- Get alerts when renewals fail
- Monitor refunds and cancellations
- See price increase consent requests
No need to build your own server endpoint or process JWT signatures — Yeethook handles it all.