App Store Connect App-Specific Shared Secret
The App-Specific Shared Secret is a unique authentication key that allows RevenueCat to securely communicate with Apple's servers on your behalf. This secret is mandatory for receipt validation when using StoreKit 1.
StoreKit 1 is now deprecated by Apple. New apps are recommended to use StoreKit 2. See our migration guide for details.
StoreKit Version Requirements
The App-Specific Shared Secret is required for StoreKit 1 implementations. For StoreKit 2 apps, you'll need an In-App Purchase Key instead.
StoreKit 2 (Recommended)
- Required: In-App Purchase Key (comprising Issuer ID, Key ID, and Private Key)
- Use case: Modern apps using iOS 15+ with RevenueCat SDK v5.0+
- Purpose: Server-to-server communication with Apple's App Store Server API for validating transactions, managing subscriptions, and accessing detailed purchase information
The In-App Purchase Key is required for all in-app purchases (including subscriptions) when using StoreKit 2 and RevenueCat v5.0+. This key enables RevenueCat to securely access Apple's APIs and ensure accurate validation and reporting.
StoreKit 1
- Required: App-Specific Shared Secret
- Use case: Legacy apps, apps targeting iOS 15 or earlier
- Purpose: Server-side receipt validation and subscription management for the traditional receipt-based flow
Setup (StoreKit 1 Only)
This setup is only required for StoreKit 1 implementations. If you're using StoreKit 2, see In-App Purchase Key Configuration instead.
1. Generating an App-Specific Shared Secret
- Log in to App Store Connect
- Navigate to "My Apps" and select your app
- Select "App Information" under the "General" section from the left side menu
- Select "Manage" under the App-Specific Share Secret section from the right side
- Generate and copy your shared secret
2. Enter the Shared Secret in RevenueCat
Enter the secret in your iOS app settings in the RevenueCat dashboard:
Troubleshooting
Receipt Validation Issues
If you're experiencing server-side receipt validation failures, ensure you've configured the appropriate credentials for your StoreKit version:
- StoreKit 1: App-Specific Shared Secret (this page)
- StoreKit 2: In-App Purchase Key
Migration Context
If you're migrating from StoreKit 1 to StoreKit 2, you'll need to:
- Update to RevenueCat SDK v5.0+
- Configure an In-App Purchase Key
- Remove the App-Specific Shared Secret configuration