App Store Connect Help
Overview for configuring in-app purchases
In-app purchases let you offer extra content and features in your apps distributed on the App Store — including digital goods, subscriptions, and premium content — directly within your app on all Apple platforms. To make an in-app purchase available in multiple platform versions of your app, create a single in-app purchase under the Distribution tab in App Store Connect, then use StoreKit to implement the in-app purchase in the various platform versions of your app.
Note: It may take up to 1 hour for changes you make to product metadata to appear in the sandbox environment.
There are four types of in-app purchases:
Type |
Description |
---|---|
Consumable |
A product that is used once, after which it becomes depleted and must be purchased again. Example: fish food in a fishing app. |
Non-consumable |
A product that is purchased once and does not expire or decrease with use. Example: race track for a game app. |
Auto-renewable subscriptions |
A product that allows users to purchase dynamic content for a set period. This type of Subscription renews automatically unless canceled by the user. Example: Monthly subscriptions for an app offering streaming services. |
Non-renewing subscriptions |
A product that allows users to access content for a limited duration of time. This type of Subscription does not renew automatically. Example: One year subscription to view live gaming content. |
You can create up to 10,000 in-app purchase products per app. Every in-app purchase must be associated with an app and can be shared across multiple platform versions (iOS, macOS, tvOS). In-app purchases can’t be shared across different apps.
Implementing in-app purchases in your app requires configuration between your apps’ server and Apple’s servers, as well as set up and ongoing management in App Store Connect. The following workflow can be used:
-
Accept the Paid Apps Agreement
To offer in-app purchases, your membership Account Holder will need to accept the Paid Apps Agreement in the Business section of App Store Connect.
-
Design your in-app purchase
To ensure your in-app purchase experience fits well with the rest of your app and effectively showcases your products, review the Human Interface Guidelines and App Review Guidelines.
-
Configure in-app purchases in App Store Connect
Create in-app purchases and add metadata, such as product name, description, price, and availability. You’ll also need to generate in-app purchase keys and set a tax category, which will allow Apple to calculate the appropriate tax on customer transactions.
-
Implement StoreKit
Add the in-app purchase capability to your app in Xcode, making sure that the bundle identifier and product identifiers in Xcode match the identifiers for your app and in-app purchases in App Store Connect.
-
Test your in-app purchases
Apple provides a testing environment, called sandbox, which allows you to test in-app purchases without incurring charges using test accounts. Test each part of your code to verify that you’ve implemented it correctly by using your app to make in-app purchases.
You can further test your app and in-app purchases using TestFlight, or in Xcode.
-
Use App Store Server Notifications
App Store Server Notifications provide near real-time updates about transaction status and key events related to in-app purchases, such as a refund or a change in subscription status or Family Sharing access. To leverage these notifications, you’ll need to enter URLs for your production and sandbox server environments in App Store Connect.
-
Submit your in-app purchases for review
Before you publish your in-app purchase on the App Store it must be submitted for review. If you’re submitting your first in-app purchase, you must submit it with a new version of your app. Make sure you aren't missing any required information before submitting. Monitor in-app purchase statuses to understand if your in-app purchase is available or if it needs your attention.