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
Sep 09, 2020. Microsoft 365 annual subscriptions purchased from the app will be charged to your App Store account and will automatically renew within 24 hours prior to the end of the current subscription period unless auto-renewal is disabled beforehand. You can manage your subscriptions in your App Store account settings.
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.
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.
Videos New
Watch WWDC session videos to learn the latest on in‑app purchases, including updates to refund handling, App Store server notifications, StoreKit, subscriptions, and 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.
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.
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 overviewSet Up Xcode Configurations
Use Xcode to enable the in‑app purchase service for your app.
Xcode Help: Add a capability to a targetCreate 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 purchaseDesigning 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.
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.
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 ReceiptsApp Store Server NotificationsValidating Receipts with the App StoreManage 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 NotificationsHandling Refund NotificationsTesting
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 AccountTesting In‑App Purchase TransactionsTest 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.
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 GuidelinesApp Store Connect Help: Submit an in‑app purchaseUsers 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.
Videos New
Watch WWDC session videos to learn the latest on in‑app purchases, including updates to refund handling, App Store server notifications, StoreKit, subscriptions, and 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.
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.
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 overviewSet Up Xcode Configurations
Use Xcode to enable the in‑app purchase service for your app.
Xcode Help: Add a capability to a targetCreate 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 purchaseDesigning 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.
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.
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 ReceiptsApp Store Server NotificationsValidating Receipts with the App StoreManage 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 NotificationsHandling Refund NotificationsTesting
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 AccountTesting In‑App Purchase TransactionsTest 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 TestFlightPublishing
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 GuidelinesApp Store Connect Help: Submit an in‑app purchasePromote 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 PurchasesDistribute 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 overviewTerritory-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.
Customer Payment Methods
In App Store Purchase
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, carrier billing, digital wallets, or App Store and iTunes gift cards, depending on regional availability.
Learn more