Integrations

App Store Connect

Set up App Store server notifications and product sync

App Store Connect

Connect App Store Connect to sync your in-app purchase catalog, receive server notifications for subscription lifecycle events, and process StoreKit 2 purchases through Nuxie.

Set up credentials

Nuxie uses App Store Connect API credentials to sync your product catalog and query subscription status. You need an API key with the appropriate permissions from App Store Connect.

  1. In App Store Connect, go to Users and Access and select the Integrations tab.
  2. Generate a new API key (or use an existing one). Note the Key ID and Issuer ID.
  3. Download the private key file (.p8).
  4. In the Nuxie dashboard, open your app's Settings page.
  5. Click Connect App Store Connect and enter:
    • Key ID -- from App Store Connect
    • Issuer ID -- from App Store Connect
    • Private key -- paste the contents of the .p8 file
  6. Click Test Connection to verify the credentials work.
  7. Select your Apple app from the list of accessible apps and click Link.

Nuxie encrypts and stores the private key securely. The credentials are used for API calls to App Store Connect and the App Store Server API.

Tip: Your app in Nuxie must be configured as an App Store app type. The processor type is set when you create the app.

Configure server notifications

App Store Server Notifications v2 let Nuxie receive real-time updates about subscription lifecycle events directly from Apple.

  1. In the Nuxie dashboard, go to Settings for your app. Copy the App Store webhook URL displayed there. The URL follows this pattern:
    text
    https://webhooks.nuxie.io/app-store/{appId}/{env}
    
  2. In App Store Connect, go to your app's App Information page.
  3. Under App Store Server Notifications, set the notification URL:
    • Production URL -- use the webhook URL with live as the environment
    • Sandbox URL -- use the webhook URL with test as the environment
  4. Select Version 2 for the notification format.

Nuxie validates each notification using Apple's signed JWT format, verifying the signature against Apple's public keys. Notifications are deduplicated to prevent processing the same event twice.

Supported notification types

NotificationWhat Nuxie does
SUBSCRIBEDRecords the new subscription and grants entitlements
DID_RENEWUpdates the billing period and maintains active status
DID_FAIL_TO_RENEWMarks the subscription with a billing issue
DID_CHANGE_SUBSCRIPTIONUpdates the product when a customer upgrades or downgrades
CANCELMarks the subscription as canceled
REFUNDHandles refund and entitlement revocation
EXPIREDMarks the subscription as expired
CONSUMPTION_REQUESTProcesses Apple's consumption information request
TESTAcknowledges test notifications from App Store Connect

Environment mapping

Nuxie maps Apple environments to Nuxie environments:

  • Apple Production maps to Nuxie live
  • Apple Sandbox maps to Nuxie test

Notifications are rejected if the Apple environment does not match the Nuxie environment in the webhook URL.

Product sync

Nuxie can import your in-app purchase and subscription products directly from App Store Connect, saving you from creating them manually.

  1. Ensure your App Store Connect credentials are configured and your Apple app is linked.
  2. Navigate to Products in your app's dashboard.
  3. Click Sync from App Store Connect.
  4. Review the sync preview to see which products will be created, updated, or deactivated.
  5. Confirm the sync.

The sync job:

  • Creates Nuxie products for new in-app purchases and subscriptions found in App Store Connect
  • Updates existing products when metadata changes
  • Soft-deletes products that have been removed from App Store Connect
  • Sets the product external ID to the Apple product identifier (e.g., com.yourapp.pro_monthly)
  • Records appStoreConnect as the sync source

Warning: After syncing, verify that each product's processor ID matches the StoreKit product identifier your app uses. The SDK matches purchases to products using this ID.

StoreKit product ID mapping

For StoreKit 2 purchase processing to work, the processor ID on each Nuxie product must exactly match the product identifier used in your app's StoreKit configuration.

For example, if your StoreKit product ID is com.yourapp.pro_monthly, the Nuxie product's App Store processor ID must also be com.yourapp.pro_monthly.

When a purchase arrives from the SDK, Nuxie:

  1. Decodes the StoreKit transaction
  2. Verifies the bundle ID matches your app
  3. Looks up the product by the transaction's product identifier
  4. Provisions the subscription and grants entitlements

If no matching product is found, the purchase fails.

Testing with sandbox

Use the Apple sandbox environment to test your integration without real purchases:

  1. Set your Nuxie app environment to test.
  2. Configure the Sandbox URL in App Store Connect's server notification settings.
  3. Use a sandbox Apple ID to make test purchases in your app.
  4. Verify that purchases appear in the Nuxie dashboard and entitlements are granted.
  5. Test lifecycle scenarios: let a sandbox subscription renew (sandbox subscriptions renew on an accelerated schedule), cancel a subscription, or trigger a billing retry.

Switch to the live environment and the Production notification URL when you are ready for release.

Next steps