Apple’s new Advanced Commerce API provides iOS developers more flexibility to dynamically manage large content catalogs, creator experiences, and subscriptions with optional add-ons, such as premium features. For a developer to be allowed to use the new API, they must request access to Apple.
The Advanced Commerce API enables apps adopting it to host and manage their catalogs of In-App Purchases and SKUs outside of the App Store. However, they use the App Store commerce system to handle end-to-end payment processing, global distribution, tax support, and customer service. In other words, while the StoreKit In-App Purchase APIs require apps to configure all of their product identifiers in advance, the new Advanced Commerce API makes it possible to manage the catalog of products an app offers dynamically, at runtime.
Advanced Commerce API features are available through requests you make using StoreKit in your app and endpoint requests from your server. To authorize these requests, you generate JSON Web Tokens (JWTs).
To simplify generating JWTs to authorize calls and adopting the App Store Server API, Apple has also open-sourced the App Store Server Library. The library provides an API client to encode requests to and decode responses from the App Store Server and to verify that Apple signed the transaction data coming in responses. It is available in four languages, including Swift, Java, Python, and Node.
Examples of apps that could be eligible to use the new API are apps that provide a large catalog of one-time purchases, such as courses or games; apps that provide a platform for third-party creators to offer and sell their creations; and apps that want to sell add-ons to an existing subscription service, so users can buy a subscription and later add or remove any additional features they wish.
Last year, Apple changed the App Store rules to have all apps use the App Store for their In-App Purchases. This change affected apps like Patreon, Instagram, and others, for which Apple started applying their 30% App Store fee last November. The new Advanced Commerce API will not change this status of things but aims to provide more value to developers to justify that fee.