In-App Purchases

In-app purchases are a great way to monetize your app and improve the user experience


In order to create the best possible in-app purchase experiences for your users, it's important to keep up with the latest enhancements and updates to the iOS API.

Introduction to in-App Purchases

In-app purchases are a great way to monetize your app and improve the user experience by offering users the ability to buy digital or physical goods within your app. With the latest enhancements to StoreKit 2 and the App Store Server API, you can now create even better in-app purchase experiences on iOS. You can also sell products within your app using Google Play Billing.

The Latest Enhancements to in-App Purchases

These include the AppTransaction API for In-App Purchases and the StoreKit Message API. You can also now use SwiftUI APIs to create custom in-app purchase experiences.

In short, these enhancements make it easier than ever to create great in-app purchase experiences for your users. If you're not already using them, I highly recommend taking a look and seeing how they can be incorporated into your app.

How to Use the New APIs

If you want to use the new APIs, you'll need to complete a form in the Play Console that provides information about your app's privacy and security practices. Then, you can sell products within your app using Google Play. Starting on August 2, 2022, all new apps must use the Billing Library.

Using StoreKit Message Sheets

Starting with iOS 13, StoreKit message sheets are available for all in-app purchases. These message sheets provide a consistent look and feel for all in-app purchase dialogs, and can be customized with your own branding.

To use StoreKit message sheets, you first need to create a message sheet controller. This controller will manage the presentation of the message sheet and handle user interactions. Once you have created a controller, you can present the message sheet using the present(animated:completion:) method.

When the user taps on the purchase button, the StoreKit framework will display an animated loading indicator. This indicator will be displayed until the transaction is complete. Once the transaction is complete, the message sheet will be dismissed and your app will be notified via the SKPaymentTransactionObserver protocol.

Best Practices for in-App Purchases

Here are some best practices to keep in mind when implementing in-app purchases in your app:

- Use the In-App Purchase APIs to provide a seamless and secure purchasing experience for your users.

- Use the SKPaymentTransactionObserver protocol to track the progress of transactions and provide updates to your users.

- Use the StoreKit framework to validate receipts and restore purchases.

- Provide value to your users by offering products that enhance their user experience.

- Use App Transport Security (ATS) to ensure that all communications with your servers are secure.

- Test your in-app purchase implementation thoroughly before submitting your app to the App Store.

FAQs About in-App Purchases on iOS

Q: Can I use in-app purchase to sell virtual goods in my app?

A: Yes! In-app purchase is a great way to sell virtual goods in your app. You can use it to sell items such as digital books, in-game currency, and game levels.

Q: Can I use Apple Pay with in-app purchase?

A: Yes, you can! Apple Pay is a great way to make purchases inside apps. It's secure and easy to use, and it's available on many devices.

Q: What are in-app purchases?

A: In-app purchases are extra content or subscriptions that you buy inside an app. They're a great way to get more from your favorite apps.


Now that you know how to use the latest enhancements for in-app purchases on iOS, it's time to put them into practice. App Store Connect and Xcode make it easy to create and manage in-app purchases, so you can focus on delivering a great experience to your users. StoreKit message sheets provide a consistent and easy way for users to complete transactions, so take advantage of them in your app. With these tools, you can create an even better in-app purchase experience for your users.

The Marketer's Guide to the Restaurant Industry