The 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.