Overview
The Apple App Store is the primary distribution channel for iOS, iPadOS, macOS, tvOS, and visionOS applications. When customers purchase subscriptions via in-app purchases (IAP), Apple handles billing, payments, and tax — acting as the Merchant of Record. Stigg’s native integration with the Apple App Store allows you to manage entitlements and the subscription lifecycle for iOS subscribers using the same infrastructure you use for all other billing channels. This means your access-control logic, feature gating, and usage reporting work consistently regardless of whether a customer subscribed through your website or through the App Store. The integration is built on Apple’s App Store Server Notifications V2 framework. Key capabilities:- Automatic ingestion of App Store Server Notifications V2 to keep subscription state in sync.
- Customer identification via
appAccountToken(mapping App Store transactions to Stigg customers). - Full subscription lifecycle management — provisioning, renewals, upgrades, downgrades, cancellations, and billing retries.
- Informational invoicing — Stigg generates read-only invoice records for visibility, while Apple remains the Merchant of Record.
- Migration API for onboarding existing iOS subscribers into Stigg.
Stigg’s native integration with the Apple App Store is included in the Scale plan, and is also available as an optional add-on to the Growth plan. See Stigg’s pricing for more details.
How it works
The integration follows a server-to-server architecture where Stigg acts as the System of Record for entitlements, while Apple remains the System of Record for billing.- A customer initiates a purchase in your iOS app using StoreKit 2.
- Apple processes the transaction and sends an App Store Server Notification V2 to Stigg’s endpoint.
- Stigg verifies the JWS-signed notification, maps the transaction to a Stigg customer (via
appAccountToken), and updates the subscription state. - Your backend queries Stigg for the customer’s entitlements to enforce access.
Prerequisites
Before configuring the App Store integration, ensure you have:- Access to App Store Connect with an Admin role.
- Plans created in Stigg with custom pricing, with separate plans for monthly and annual App Store subscriptions.
Setting up the integration
Step 1: Create an API Key in App Store Connect
- Log in to App Store Connect.
- Navigate to Users and Access.
- Select the Integrations tab.
- Under Keys, choose App Store Connect API.
- Click Generate API Key and assign the App Manager role.
- Download and store the private key in a secure location.
Step 2: Configure the integration in Stigg
- Open the Stigg app, navigate to the Integrations section and add Apple App Store.
- Enter the following credentials from App Store Connect:
- Key ID
- Issuer ID
- Private Key
- Toggle the Sandbox Environment if you are testing with Apple’s sandbox environment.
- Copy the Notification URL provided by Stigg and configure webhook notifications in App Store Connect:
- Go to App Store Connect.
- Navigate to Apps → select your target app.
- Go to General Information → App Store Server Notifications.
- Paste the Notification URL into:
- Production Server URL — for production notifications
- Sandbox Server URL — for sandbox/testing notifications
- Connect your application — after entering the credentials, Stigg will fetch available applications from the App Store Connect API. Select the application you want to connect to Stigg.
- Map App Store subscription products to Stigg plans — available subscription products will be fetched automatically. Map each App Store subscription product to a previously created Stigg plan.
An App Store subscription product maps to a Stigg plan, not a Stigg subscription. When configuring the integration, you are mapping App Store subscription products to Stigg plans.
Step 3: Configure Customer Billing ID
Customers must be created or updated in Stigg with abillingId that matches the appAccountToken UUID used in Apple App Store purchases.
Importing customers and subscriptions
You can import existing App Store customers and subscriptions into Stigg using the bulk import API.Prerequisites
@stigg/node-server-sdkversion 4.13.0 or higher.- API Key from the Stigg app.
- Configured App Store integration in Stigg (copy the integration ID from the integration settings).
Customer and subscription linkage
To properly link Stigg customers to App Store users, use theappAccountToken from the app as the billingId when importing customers into Stigg. For subscriptions, use the originalTransactionId from the in-app purchase as the billingId when importing subscriptions into Stigg.
