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
- Log in to your Apple Developer account.
- Ensure you've created your app in App Store Connect.
Create Subscriptions in App Store Connect
In App Store Connect:
- Select your newly created app.
- Go to In-App Subscriptions in the left sidebar.
- Create a Subscription Group.
- Inside the group, create subscriptions (e.g.
pro_monthly
, etc.). - Fill out required details (name, pricing, duration).
- If you change identifiers later, update them in RevenueCat too.
Generate App-Specific Shared Secret
- Go to your app's App Information section.
- Scroll down to App-Specific Shared Secret.
- Click Manage → Generate.
- Copy the key and store it securely — you'll need it for RevenueCat.
Generate In-App Purchase Key
To allow RevenueCat to communicate with StoreKit:
- In App Store Connect, go to Users and Access (top menu).
- Go to Integrations → In-App Purchase.
- Generate a new Key.
- Copy the Key ID and Issuer ID (visible above keys).
- If needed, generate App Store Connect API key — ensure you note Issuer ID.
- 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:
- Go to Users and Access → Keys tab (not In-App Purchase tab).
- Click Generate API Key.
- Enter a name, select App Manager role.
- Copy the generated Issuer ID, Key ID, and download the
.p8
key file. - Save all three values securely.
Add App Store App in RevenueCat
- In RevenueCat, create a new project.
- Go to Apps → Add App Store App.
- Fill in:
- App name
- Bundle ID (must match App Store Connect)
- Shared Secret
- Key ID
- Issuer ID
Generate RevenueCat API Key
- Go to API Keys section in RevenueCat.
- Click Show API Key next to your app.
- Copy the key securely for
.env
.
// .env
EXPO_PUBLIC_REVENUECAT_API_KEY_IOS=your_revenuecat_api_key
Import Products to RevenueCat
- Go to Products → click + New.
- Use Import Products → select your App Store app.
- The imported products (
pro_monthly
, etc.) will appear.
Create Entitlement
- Navigate to Entitlements → click + Create.
- Add entitlement ID (e.g.
pro
). - Attach the corresponding products.
Create Offering and Packages
- Go to Offerings → click + Add Offering (identifier:
default
). - Add packages (monthly, annual, etc.).
- Save your offering.
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.