What is an in-app purchase?
An in-app purchase, or IAP, is a transaction made inside an iOS app to buy digital content, features, or subscriptions, processed through Apple's billing system using the StoreKit framework. It is the standard way iOS apps charge for digital goods, from unlocking a feature to subscribing to a service.
The types of in-app purchase
Apple defines four kinds of in-app purchase, each suited to a different model. Consumables are used up and can be bought again, such as in-game currency or extra credits. Non-consumables are bought once and kept permanently, such as removing ads or unlocking a pro feature. Auto-renewing subscriptions charge on a recurring schedule and continue until canceled, which is the dominant model for ongoing services. Non-renewing subscriptions grant access for a fixed period without automatic renewal. Choosing the right type is part of designing how an app makes money.
How in-app purchases work
Under the hood, in-app purchases run through StoreKit, Apple's framework for requesting products, presenting the purchase, and validating the result. When a user buys something, Apple handles the payment, and your app receives a confirmation it can verify before unlocking the content. Apple takes a commission on these sales, and the prices, products, and subscriptions are configured in App Store Connect. For most digital goods consumed within the app, Apple's guidelines require using this system rather than an outside payment processor, with physical goods and some services as exceptions.
StoreKit versus tools like RevenueCat
You can implement in-app purchases directly with StoreKit, but handling receipts, renewals, restores, and edge cases correctly is a meaningful amount of work. Third-party tools such as RevenueCat sit on top of StoreKit and manage much of that complexity, including subscription status and cross-platform purchases, behind a simpler interface. Both approaches use Apple's underlying billing; the difference is how much plumbing you write yourself.
In-app purchases in AppFlight
AppFlight can wire in RevenueCat through a one-click integration, which handles in-app purchases and subscriptions on top of StoreKit, as part of building a native iOS app from a prompt. Public keys ship in the app while backend secrets stay server-side in your own Supabase. The same App Store rules apply, so in-app purchases must follow Apple's guidelines, and the app still goes through review.
FAQ
What are the types of in-app purchases?
There are four: consumables that are used up, like coins; non-consumables bought once, like removing ads; auto-renewing subscriptions; and non-renewing subscriptions for a fixed period. Each fits a different monetization model.
Do I have to use Apple in-app purchase system?
For digital goods and services consumed in the app, Apple generally requires its in-app purchase system. Physical goods and certain services use other payment methods. The App Store Review Guidelines define the rules.
What is the difference between StoreKit and RevenueCat?
StoreKit is Apple framework for implementing in-app purchases. RevenueCat is a third-party tool built on top of StoreKit that simplifies subscriptions, receipts, and cross-platform handling. You can use StoreKit directly or use RevenueCat over it.