Connect App Store to RevenueCat

12 min

Next, set up your RevenueCat account. All you need is an email address.

Connecting the App Store to RevenueCat requires configuring credentials that allow RevenueCat to securely communicate with Apple's servers. There are two key credentials you should configure:

CredentialRequired?Purpose
In-App Purchase Keyβœ… RequiredTransaction validation for StoreKit 2. Without this, purchases will fail to record.
App Store Connect API Keyβšͺ OptionalAuto-import products & prices from App Store Connect. Convenient but not required.
⚠️ Important: If you're using RevenueCat SDK v5.0+ (StoreKit 2), the In-App Purchase Key is required. Without it, transactions will fail to be recorded and users may lose access to their purchases.

1. Generate an In-App Purchase Key (Required)

The In-App Purchase Key enables server-to-server communication with Apple's App Store Server API for validating transactions, managing subscriptions, and accessing purchase information. This is mandatory for apps using StoreKit 2.

πŸ“˜ One Key for All Apps: You can use the same In-App Purchase Key for all apps belonging to the same App Store Connect account. You don't need to generate a separate key for each app.

Step 1: Create the Key in App Store Connect

  1. Log in to App Store Connect.
  2. Click Users and Access in the top navigation.
  3. Select the Integrations tab.
  4. In the left sidebar, click In-App Purchase under the "Keys" section.
  5. Click the Generate In-App Purchase Key button (or click the + icon next to "Active" if you already have keys).
  6. Enter a descriptive name for your key (e.g., "RevenueCat Production").
  7. Click Generate.
Generate In-App Purchase Key in App Store Connect

Step 2: Download and Save the Key

⚠️ Important: You can only download the .p8 key file once. After you navigate away from this page, the download option disappears forever. Store this file securelyβ€”you cannot retrieve it later!
  1. Click Download In-App Purchase Key to download the .p8 file.
  2. The file will be named SubscriptionKey_XXXXXXXXXX.p8 where XXXXXXXXXX is your Key ID.
  3. Note down the Key ID displayed next to your keyβ€”you'll need this for RevenueCat.
  4. Store the downloaded file in a secure location (password manager, secure vault, etc.).

Step 3: Find Your Issuer ID

  1. On the same In-App Purchase keys page, look for the Issuer ID displayed at the top of the page.
  2. Copy this IDβ€”it's shared across all keys in your account.
Issuer ID location in App Store Connect
πŸ“˜ Don't see an Issuer ID? If the Issuer ID doesn't appear at the top of the page, you may need to create an App Store Connect API key first. Navigate to Integrations β†’ App Store Connect API and generate any keyβ€”this will create the Issuer ID for your account.

2. Generate an App Store Connect API Key (Optional)

The App Store Connect API Key allows RevenueCat to automatically import products and prices from App Store Connect. While optional, it's highly recommended as it streamlines product management.

Step 1: Create the Key in App Store Connect

  1. In App Store Connect, go to Users and Access β†’ Integrations.
  2. Click App Store Connect API in the left sidebar.
  3. Click Generate API Key (or the + icon).
  4. Enter a name (e.g., "RevenueCat Integration").
  5. Select App Manager as the minimum access level.
  6. Click Generate and download the .p8 file immediately.
Generate App Store Connect API Key

Step 2: Find Your Vendor Number

  1. Navigate to Payments and Financial Reports.
  2. Find your Vendor Number in the top left corner.
Vendor Number location
πŸ“˜ Key File Naming: Don't confuse the two key files:
β€’ SubscriptionKey_XXXXXXXXXX.p8 = In-App Purchase Key (required)
β€’ AuthKey_XXXXXXXXXX.p8 = App Store Connect API Key (optional)

3. App-Specific Shared Secret (StoreKit 1 - Legacy)

If your app supports iOS 14 or earlier with StoreKit 1, you'll need to configure the App-Specific Shared Secret instead of the In-App Purchase Key.

πŸ“˜ Legacy Configuration: Since this is for legacy apps, we won't cover the detailed setup here. See the official App Store Connect Credentials documentation for instructions.

4. App Store Server Notifications (Optional)

App Store Server Notifications allow Apple to send real-time updates to RevenueCat about subscription events (renewals, cancellations, refunds, etc.).

πŸ“˜ This is Optional: RevenueCat does not require server notifications from the App Store. Your integration will work without it. However, enabling notifications provides faster webhook delivery, reduced lag time for Charts, and enables the "Handling Refund Requests" feature.

If you'd like to set up server notifications, see the official documentation: Apple Server Notifications

5. Add Your Credentials to RevenueCat

Now let's configure everything in the RevenueCat dashboard.

Create or Select Your App Configuration

  1. Log in to the RevenueCat dashboard.
  2. Navigate to your project and click Apps & providers in the left sidebar.
  3. If you haven't added an iOS app yet, click + Add app config in the top right corner.
  4. Select App Store as the platform.
  5. Enter your app's Bundle ID (must match exactly what's in App Store Connect, including capitalization).

Configure In-App Purchase Key (Required)

In your app's configuration page, find the In-app purchase key configuration section:

  1. Upload your .p8 key file (SubscriptionKey_XXXXXXXXXX.p8).
  2. Enter the Issuer ID (found at the top of the In-App Purchase keys page in App Store Connect).
  3. Click Save Changes.
RevenueCat In-App Purchase Key configuration

RevenueCat will automatically validate your credentials. If successful, you'll see a "Valid credentials" confirmation.

Configure App Store Connect API Key (Optional)

If you also want to enable automatic product importing, find the App Store Connect API section:

  1. Upload your .p8 key file (AuthKey_XXXXXXXXXX.p8).
  2. Enter the Issuer ID.
  3. Enter the Vendor Number (found in Payments and Financial Reports).
  4. Click Save Changes.
RevenueCat App Store Connect API configuration

6. Verify Your Configuration

After saving your credentials, RevenueCat automatically validates them. You should see a "Valid credentials" message confirming everything is set up correctly.

Checklist

  • βœ… Bundle ID matches exactly between RevenueCat and App Store Connect (including capitalization)
  • βœ… In-App Purchase Key uploaded with correct Issuer ID (required for StoreKit 2)
  • βœ… App Store Connect API Key uploaded with Issuer ID and Vendor Number (optional, for product importing)
  • βœ… Key Status shows as "Active" in App Store Connect (not "Revoked")
  • βœ… Server Notifications configured (optional, but recommended)
  • βœ… Products created in App Store Connect (from Step 1)
  • βœ… Paid Applications Agreement is signed and active

Common Issues

ProblemPossible CauseSolution
Purchases not recording Missing In-App Purchase Key Go to RevenueCat Dashboard β†’ Apps & providers β†’ Select your iOS app β†’ Upload your SubscriptionKey_*.p8 file in the "In-app purchase key configuration" section. This is required for StoreKit 2 (SDK v5.0+).
Products not importing Missing App Store Connect API Key Either configure the optional App Store Connect API Key (with Vendor Number) in RevenueCat to enable auto-import, or manually add products via RevenueCat Dashboard β†’ Product Catalog β†’ Products β†’ + New.
Products not importing Bundle ID mismatch Compare Bundle ID in RevenueCat (Apps & providers β†’ your app) with App Store Connect (My Apps β†’ your app β†’ App Information β†’ Bundle ID). They must match exactly, including capitalization (e.g., com.YourApp β‰  com.yourapp).
Products not importing Agreements not signed In App Store Connect, go to Business β†’ Agreements, Tax, and Banking. Ensure "Paid Applications" agreement shows "Active" status. Complete all required tax and banking information if pending.
Invalid credentials error Wrong Issuer ID In App Store Connect, go to Users and Access β†’ Integrations β†’ In-App Purchase (or App Store Connect API). The Issuer ID is displayed at the top of the page above the keys table. Copy it exactly.
Invalid credentials error Key is revoked In App Store Connect β†’ Users and Access β†’ Integrations, check if your key shows "Revoked" status. If revoked, generate a new key, download the new .p8 file, and upload it to RevenueCat.
Invalid credentials error Wrong key type uploaded Ensure you're uploading the correct key: SubscriptionKey_*.p8 for In-App Purchase Key section, AuthKey_*.p8 for App Store Connect API section. Don't mix them up.
Save button grayed out Missing required fields For In-App Purchase Key: ensure both the .p8 file and Issuer ID are provided. For App Store Connect API Key: ensure .p8 file, Issuer ID, and Vendor Number are all filled in.
Notifications not received Server Notifications not configured Server Notifications are optional but recommended. See Apple Server Notifications docs for setup instructions.
Can't find Vendor Number Looking in wrong location Vendor Number is NOT in Integrations. Go to App Store Connect β†’ Payments and Financial Reports (or Sales and Trends β†’ Reports). Your Vendor Number appears in the top-left corner of the page.
Can't find Issuer ID No keys generated yet The Issuer ID only appears after you create at least one API key. Generate any App Store Connect API key first (Users and Access β†’ Integrations β†’ App Store Connect API β†’ Generate), then the Issuer ID will appear.
πŸ“˜ Syncing Delay: After configuring credentials, it may take a few minutes for RevenueCat to sync your products from App Store Connect. If products don't appear immediately, wait 5-10 minutes and refresh.
πŸ“˜ Learn More: For detailed troubleshooting, see the official documentation for In-App Purchase Key and App Store Connect API Key configuration.

Phew, Congrats! You made it through the tricky part πŸŽ‰