Advanced Commerce API
Support In-App Purchases through the App Store for exceptionally large catalogs of custom one-time purchases, subscriptions, and subscriptions with optional add-ons.
Overview
Use this framework to offer an exceptionally large catalog of one-time purchases, subscriptions, and subscriptions with optional add-ons while using the App Store commerce system. Apps that use this API host and manage their own catalog of In-App Purchases, or SKUs. The App Store commerce system handles the end-to-end payment processing, global distribution, tax support, and customer service.
You can use the Advanced Commerce API and the StoreKit In-App Purchase API in the same app. Both APIs use the App Store commerce system, including the same signed JWS transactions and JWS renewal info. For products that you offer using the In-App Purchase API, you set up product identifiers in App Store Connect. For products that you offer using the Advanced Commerce API, you host and manage your own catalog of SKUs and add product details dynamically at runtime. For complete setup information, see Setting up your project for Advanced Commerce API.
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). The App Store Server Library provides a client that makes it easier to create JWTs to authorize calls. For more information about the library, see Simplifying your implementation by using the App Store Server Library. For more information about authorizing calls, see Authorizing API requests from your server.
Your server must support the Transport Layer Security (TLS) protocol 1.2 or later to call the Advanced Commerce API.
Topics
Essentials
Setting up your project for Advanced Commerce APISetting up a link to manage subscriptionsAdvanced Commerce API changelog
API authorization and rate limits
Generic product IDs and SKUs
Setting up generic product identifiersCreating SKUs for your In-App PurchasesCreating SKUs for the Mini Apps Partner Program
Tax codes and pricing
Specifying prices for Advanced Commerce SKUsChoosing tax codes for your SKUsHandling subscription price changes
In-app API requests
One-time charge creation in the app
Subscription creation in the app
Subscription modification in the app
SubscriptionModifyInAppRequestSubscriptionModifyAddItemSubscriptionModifyChangeItemSubscriptionModifyRemoveItemSubscriptionModifyPeriodChange
Subscription reactivation in the app
Subscription price change from the server
Subscription cancellation from the server
Subscription revocation from the server
Refund request from the server
Subscription metadata changes from the server
Change Subscription MetadataSubscriptionChangeMetadataRequestSubscriptionChangeMetadataResponseSubscriptionChangeMetadataDescriptorsSubscriptionChangeMetadataItem
Migration from the server
Migrate a Subscription to Advanced Commerce APISubscriptionMigrateRequestSubscriptionMigrateResponseSubscriptionMigrateItemSubscriptionMigrateRenewalItemSubscriptionMigrateDescriptors