In-App Purchase

Offer customers extra content and features using in-app purchases — including premium content, digital goods, and subscriptions — directly within your app. You can even promote and offer in-app purchases directly on the App Store.

Overview

In-app purchases can be used to sell a variety of content, including subscriptions, new features, and services. There are four types of in-app purchases. Users can make in-app purchases on iOS, macOS, and tvOS.

Consumable

Users can purchase different types of consumables, such as lives or gems in a game, to further their progress through an app. Consumable in-app purchases are used once, are depleted, and can be purchased again.

Non-Consumable

Users can purchase non-consumable, premium features within an app. Non-consumables are purchased once and do not expire, such as additional filters in a photo app. Apple can host content associated with your non-consumable in-app purchases.

Auto-Renewable Subscriptions

Users can purchase access to services or periodically updated content, such as monthly access to cloud storage or a weekly subscription to a magazine. Users are charged on a recurring basis until they decide to cancel.

Auto-renewable Subscriptions

Non-Renewing Subscriptions

Users can purchase access to services or content for a limited duration, such as a season pass to streaming content. This type of subscription does not renew automatically, so users need to renew each time.

See What’s New

Watch WWDC session videos to see the latest on in-app purchases, including promoting in-app purchases and StoreKit APIs.

Freemium Business Model

In-app purchases are often used with the freemium business model. Learn how developers across a range of categories approach using this model in their apps.

Customer Payment Methods

The App Store makes it easy to offer your content to users around the world. Users pay for your apps and in-app purchases with credit or debit cards, carrier billing, digital wallets, or App Store and iTunes gift cards, depending on their region.
Learn more

Preparing

Before offering in-app purchases, you’ll need to sign the Paid Applications Agreement and set up your banking and tax information.

App Store Connect Help: Agreements, tax, and banking overview

Set Up Xcode Configurations

Use Xcode to enable the in-app purchase service for your app.

Xcode Help: Add a capability to a target

Create Your In-App Purchases in App Store Connect

Configure your in-app purchases in App Store Connect, and include details such as name, pricing, and description that highlights the features and functionality of your in-app purchase. You can also create and maintain your in-app purchases using XML.

App Store Connect Help: Create an in-app purchase Metadata Specification for XML

Designing and Building

Design Your In-App Purchase Experience

The user interface for your in-app purchase should fit well with the rest of your app and effectively showcase your products.

Human Interface Guidelines Designing a Great In-App Purchase Experience Optimizing In-App Purchases

Implement Your In-App Purchases

Use the StoreKit Framework to embed the in-app purchase into your app and securely process purchases of content and services. Make sure to complete the steps in the implementation checklist.

In-App Purchase Programming Guide StoreKit API Reference Using StoreKit for In-App Purchases with Swift 3 What’s New in StoreKit Advanced StoreKit

Validate Receipts

Receipts provide a valuable record of the sale. Consider using receipt validation code to protect your content and prevent unauthorized purchases.

Receipt Validation Programming Guide

Testing

Test Transactions

Use the Apple sandbox testing environment to test your in-app purchases without incurring charges.

App Store Connect Help: Create a Sandbox Tester Account In-App Purchase Programming Guide: Suggested Testing Steps

Test the Full User Experience

Use TestFlight to gain valuable feedback on your app and in-app purchases from a wider audience before releasing your app on the App Store. Invite users on your team in App Store Connect, and up to external 10,000 testers using a public link or their email address. All in-app purchases are free during the beta testing period, and will not carry over when the testing period is over.

Beta Testing Made Simple with TestFlight

Publishing

Submit Your In-App Purchases for Review

Once you’ve completed testing, verify that you’ve followed the App Review Guidelines and implementation checklist, then submit using App Store Connect.

App Store Review Guidelines Implementation Checklist App Store Connect Help: Submit an in-app purchase

Promote Your In-App Purchases on the App Store

You can choose to promote up to 20 in-app purchases at a time on your product page, increasing discoverability for content previously only found inside your app. Users can browse in-app purchases directly on the App Store and start a purchase even before downloading your app.

Promoting Your In-App Purchases

Distribute Promo Codes

Give press and influencers early access to your app’s in-app purchases with promo codes from App Store Connect. You can give away up to 100 promo codes for each in-app purchase item, up to a maximum of 1,000 codes per app.

App Store Connect Help: Promo codes overview

Territory-specific Pricing

Apps with auto-renewable subscriptions can offer territory-specific prices and have access to 200 price points across all currencies. You can set the prices you think are suitable for subscribers in different markets.