Contents

Choosing a StoreKit API for In-App Purchases

Use the latest API to support In-App Purchases in new or existing apps, or the original API to support In-App Purchases in earlier operating systems.

Overview

The StoreKit framework provides two APIs to implement a store in your app and offer in-app purchases:

  • In-App Purchase is a Swift-based API that provides App Store-signed transactions in JSON Web Signature (JWS) format, available starting in iOS 15, macOS 12, tvOS 15, watchOS 8, and visionOS 1.

  • Original API for In-App Purchase provides transaction information using App Store receipts, available starting in iOS 3, macOS 10.7, tvOS 9, watchOS 6.2, and visionOS 1.

If your app has a minimum required operating system that the In-App Purchase API supports, use this API to take advantage of Swift concurrency and simplified in-app purchase workflows. Use this API for visionOS apps that use multiple scenes.

Use the Original API for In-App Purchase to maintain and update app versions that have a minimum required operating system of the following versions: macOS 11 or earlier, iOS 14 or earlier, iPadOS 14 or earlier, tvOS 14 or earlier, or watchOS 7 or earlier.

An app can use both the In-App Purchase API and the Original API for In-App Purchase if the app runs in iOS 15, macOS 12, tvOS 15, watchOS 8, and visionOS 1 or later. However, only the In-App Purchase API supports multi-scene apps for visionOS.

Both APIs provide access to your data in the App Store, such as your configured in-app purchases and transaction information for your customers. In-app purchases that users make using either API are fully available to both APIs.

Use the In-App Purchase API to access new features

The following features are available only with the Swift-based In-App Purchase APIs:

Use the Original API to support certain features

You might need to use the Original API for In-App Purchase for the following features, if your app supports them:

See Also

Deprecated