Apple App Store Server Notifications
Setting up App Store Server Notifications V2 with Appflow
Overview
Apple sends real-time notifications about subscription lifecycle events directly to your server. Appflow processes these notifications to maintain accurate subscription state, revenue tracking, and churn detection across your entire subscriber base.
Appflow supports both V2 notifications (recommended) and V1 (legacy). V2 notifications use signed JWS payloads for enhanced security and include richer data about subscription state changes. We strongly recommend using V2 for all new integrations.
Setup in App Store Connect
Configure App Store Connect to send server notifications to Appflow. Follow these steps to connect your app:
Go to App Store Connect and navigate to Your App → App Information
Scroll to the App Store Server Notifications section
Set the Production Server URL to:
Set the Sandbox Server URL to:
Select Version 2 Notifications from the notification version dropdown
Configure in Appflow
After configuring App Store Connect, provide Appflow with the credentials needed to verify and process notifications. You can do this from the dashboard under Settings → Webhooks or via the API:
Field Reference
Supported Notification Types
Appflow processes all V2 notification types from Apple. Each notification is mapped to a subscription state transition and triggers the corresponding analytics and revenue updates.
Subscription State Machine
Appflow maintains a deterministic state machine for each subscription. Incoming Apple notifications drive transitions between states. This ensures accurate subscriber counts and revenue metrics at all times.
Verification
Appflow automatically verifies all incoming V2 notifications by validating the JWS (JSON Web Signature) using Apple's public certificates. This ensures that notifications are authentic and have not been tampered with in transit.
The verification process includes:
https://api-v2.appflow.ai/v1/webhooks/apple?env=sandbox in App Store Connect. Sandbox notifications use a separate verification path and are tagged accordingly in your dashboard.Troubleshooting
If notifications are not being processed correctly, check the following common issues:
Invalid shared secret or JWS verification failed. Verify your shared secret matches the one in App Store Connect. For V2, ensure your issuer_id, key_id, and private_key are correctly configured.
No app is configured for the bundle_id in the notification. Make sure you have registered your app in Appflow with the matching bundle identifier.
Apple may take a few minutes to begin sending notifications after initial setup. Verify the URL is saved correctly in App Store Connect and that V2 is selected as the notification version.