LimitedRound 2 is open. Get your first month free, no extra charge.Join the waitlist ›
iOS, defined

What is an in-app purchase?

TL;DR. An in-app purchase (IAP) is a transaction inside an iOS app for digital content or features, processed through Apple StoreKit and the App Store billing system. Types include consumables, non-consumables, and auto-renewing subscriptions. Apple takes a commission on these sales.

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.

Sources

Build this app without opening Xcode.

AppFlight turns a plain-English prompt into a real native iOS app and ships it to the App Store. Round 2 is open: free for your first month.

Join the waitlist