ExpoLaunch
Payment

iOS Subscription – App Store Connect Configuration

Setting up In‑App subscriptions for your project using RevenueCat

Configuration App Store Connect

ExpoLaunch comes with a preconfigured purchase flow with 1 subscription plan: pro.

Apple Developer Account

Create Subscriptions in App Store Connect

In App Store Connect:

  1. Select your newly created app.
  2. Go to In-App Subscriptions in the left sidebar. ios subscription
  3. Create a Subscription Group. ios subscription
  4. Inside the group, create subscriptions (e.g. pro_monthly, etc.). ios subscription ios subscription
  5. Fill out required details (name, pricing, duration). ios subscription ios subscription ios subscription ios subscription ios subscription
  6. If you change identifiers later, update them in RevenueCat too.

Generate App-Specific Shared Secret

  1. Go to your app's App Information section.
  2. Scroll down to App-Specific Shared Secret. ios subscription
  3. Click ManageGenerate. ios subscription
  4. Copy the key and store it securely — you'll need it for RevenueCat. ios subscription

Generate In-App Purchase Key

To allow RevenueCat to communicate with StoreKit:

  1. In App Store Connect, go to Users and Access (top menu).
  2. Go to IntegrationsIn-App Purchase. ios subscription
  3. Generate a new Key. ios subscription
  4. Copy the Key ID and Issuer ID (visible above keys). ios subscription
  5. If needed, generate App Store Connect API key — ensure you note Issuer ID.
  6. Download the .p8 file and store it securely. You’ll also see your Key ID and Issuer ID.

Generate App Store Connect API Key

To allow RevenueCat to communicate with StoreKit:

  1. Go to Users and AccessKeys tab (not In-App Purchase tab).
  2. Click Generate API Key. ios subscription
  3. Enter a name, select App Manager role. ios subscription
  4. Copy the generated Issuer ID, Key ID, and download the .p8 key file.
  5. Save all three values securely.

Add App Store App in RevenueCat

  1. In RevenueCat, create a new project.
  2. Go to AppsAdd App Store App. ios subscription ios subscription
  3. Fill in:
  • App name
  • Bundle ID (must match App Store Connect)
  • Shared Secret
  • Key ID
  • Issuer ID ios subscription ios subscription ios subscription

Generate RevenueCat API Key

  1. Go to API Keys section in RevenueCat.
  2. Click Show API Key next to your app. ios subscription
  3. Copy the key securely for .env.
// .env
EXPO_PUBLIC_REVENUECAT_API_KEY_IOS=your_revenuecat_api_key

Import Products to RevenueCat

  1. Go to Products → click + New. ios subscription ios subscription
  2. Use Import Products → select your App Store app. ios subscription
  3. The imported products (pro_monthly, etc.) will appear. ios subscription

Create Entitlement

  1. Navigate to Entitlements → click + Create. ios subscription
  2. Add entitlement ID (e.g. pro). ios subscription ios subscription
  3. Attach the corresponding products. ios subscription ios subscription

Create Offering and Packages

  1. Go to Offerings → click + Add Offering (identifier: default). ios subscription
  2. Add packages (monthly, annual, etc.). ios subscription ios subscription
  3. Save your offering. ios subscription

Custom Paywall Implementation

Instead of using the built-in RevenueCat paywall editor, ExpoLaunch uses a custom React Native implementation.

If you’re building your own paywall UI, skip this step and use the useOfferings() hook to fetch available products and entitlements from RevenueCat. You can handle purchasing via react-native-purchases.

import {useOfferings} from 'react-native-purchases'

const {current, loading} = useOfferings()

You can see a full working example in PaywallScreen.tsx of the template.

✅ Troubleshooting

  • If products or offerings don’t appear, check for pending agreements in App Store Connect.
  • Ensure you’ve copied the correct Shared Secret, API Key ID, and Issuer ID.
  • Verify that Bundle ID is identical in App Store Connect and RevenueCat.