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, iPadOS, macOS, watchOS, 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.

Learn more about 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.

Prepare for Strong Customer Authentication Transactions

Online purchase flows for users in the European Economic Area may be impacted by the European Union’s Strong Customer Authentication requirements. The App Store will support Strong Customer Authentication. We recommend that you verify your app’s implementation of StoreKit to make sure purchases are handled correctly.

Learn more

watchOS Apps

Now you can offer in‑app purchases directly in your watchOS apps, so users can access premium content, all right from their wrist. Get started with Xcode 11.4 and watchOS 6.2.

Learn more

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.

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
Family Sharing New

Apps that offer non-consumable in-app purchases or auto-renewable subscriptions can enable Family Sharing in App Store Connect to allow users to share access with up to five family members. With a streamlined, convenient user experience, Family Sharing can help you attract subscribers, encourage paid subscriptions, increase user engagement, and improve retention.

Turn on Family Sharing for in-app purchases

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.

View the Human Interface Guidelines

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.

View StoreKit API documentation

Validate Receipts

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

App Store Receipts App Store Server Notifications Choosing a Receipt Validation Technique Validating Receipts with the App Store

Manage Refunds

App Store server notifications include refund notifications for all types of in‑app purchases. You can use this information to take action in response — for example, adjusting a user’s currency balance in a game, or restricting access to content unlocked by an in‑app purchase. If you choose to take action, inform the user of any changes and let them know if there’s anything they need to do in response.

If you offer auto-renewable subscriptions, use App Store server notifications with receipt validation to understand a subscriber’s status. To learn more, see Using Receipts to Retain Subscribers.

Enabling Server-to-Server Notifications Handling Refund Notifications

Testing

Test Transactions

Use the Apple sandbox testing environment or Xcode to test your in‑app purchases.

App Store Connect Help: Create a Sandbox Tester Account Testing In‑App Purchase Transactions Testing In‑App Purchase in Xcode

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 10,000 external 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.

Learn more about 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 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. You can choose from 200 price points across all available currencies and price tiers to offer appropriate pricing for each location.

Learn about offering subscriptions

Customer Payment Methods

The App Store handles payment processing, so it’s easy to offer your content to users around the world. Users pay for your apps and in‑app purchases with credit or debit cards, mobile phone billing, Apple Pay, other payment services, or an Apple ID balance (from gift cards or adding funds).

Learn more