Create Store Products
Create monthly, annual, and one-time purchase products in App Store Connect and Google Play Console
Creating In-App Purchase Products
Before configuring RevenueCat, you need to create products in App Store Connect and Google Play Console and note each product's Product ID. These IDs will be used in both RevenueCat and app-config.ts.
iOS: App Store Connect
Prerequisites
- Your app must already exist in App Store Connect
- Bundle ID matches
ios.bundleIdentifierinapp.json
Create a Subscription Group (Monthly / Annual)
Auto-renewable subscriptions must belong to a Subscription Group. Subscriptions within the same group are mutually exclusive — users can only be subscribed to one at a time.
Create a Subscription Group
- Go to App Store Connect → select your app
- In the left menu, click Monetization → Subscriptions
- Click Create to add a new subscription group, enter a group name (e.g.
Pro) - Click Create to confirm
Add a Monthly Subscription
-
Under the subscription group, click + to add a subscription
-
Fill in:
- Reference Name: Internal name (e.g.
Pro Monthly), not shown to users - Product ID: Unique identifier (e.g.
com.yourcompany.yourapp.pro.monthly)
Naming convention: Use
bundleId.plan.intervalformat, lowercase only, letters/numbers/dots, cannot be changed after creation. - Reference Name: Internal name (e.g.
-
Click Create
Configure Monthly Subscription Details
- Set duration to 1 Month
- Click Add Subscription Price to select a price tier (e.g. Tier 10 ≈ $0.99)
- Add Localization:
- Subscription Name: Shown to users (e.g.
Pro Monthly) - Description: Brief description (e.g.
Billed monthly, cancel anytime)
- Subscription Name: Shown to users (e.g.
- Upload a screenshot under Subscription Review Information (required for first submission)
- Click Save
Add an Annual Subscription
Repeat the steps above to add another subscription in the same group:
- Product ID: e.g.
com.yourcompany.yourapp.pro.yearly - Duration: 1 Year
- Price: Typically monthly × 10 (roughly 17% off)
Create a One-Time Purchase (Lifetime)
One-time purchases use a Non-Consumable in-app purchase — once bought, it's unlocked permanently.
Go to In-App Purchases
- In App Store Connect → your app
- Click Monetization → In-App Purchases in the left menu
- Click + to create a new product
Select Type and Fill In Details
- Select Non-Consumable (permanent, non-expiring)
- Fill in:
- Reference Name: e.g.
Pro Lifetime - Product ID: e.g.
com.yourcompany.yourapp.pro.lifetime
- Reference Name: e.g.
- Click Create
Set Price and Localization
- Click Add Pricing to select a price tier (e.g. Tier 30 ≈ $29.99)
- Add Localization with display name and description
- Click Save
Review note: Newly created in-app purchase products start as Missing Metadata or Waiting for Review. First-time products must be submitted for review alongside an app version.
Android: Google Play Console
Prerequisites
- Your app must already exist in Google Play Console
- Billing profile configured (country / banking info)
- At least one APK / AAB has been uploaded (in-app products require an app version)
Create Subscriptions (Monthly / Annual)
Google Play subscriptions follow a three-tier structure: Subscription → Base Plan → Offer
Create a New Subscription
-
Go to Google Play Console → select your app
-
Click Monetize → Subscriptions in the left menu
-
Click Create subscription
-
Fill in:
- Product ID: Unique identifier (e.g.
pro_monthly)
Naming convention: Lowercase only, letters/numbers/underscores, cannot be changed after creation.
- Name: Shown to users (e.g.
Pro Monthly) - Description: Brief description
- Product ID: Unique identifier (e.g.
-
Click Save
Add a Base Plan
- Under the subscription you just created, click Add base plan
- Configure:
- Base plan ID: e.g.
monthly-base - Billing period: Monthly or Yearly
- Price: e.g. $9.99
- Free trial: Optional (e.g. 7-day free trial)
- Base plan ID: e.g.
- Click Save & publish base plan
A single subscription product can have multiple base plans. You can put monthly and yearly as base plans under one subscription ID, or create two separate subscriptions. EasyStarter recommends separate subscriptions per billing period for clearer RevenueCat mapping.
Activate the Subscription
- After saving, the base plan status is Inactive
- Click Activate (RevenueCat cannot detect products until activated)
- Repeat the same steps for the annual subscription (Product ID e.g.
pro_yearly)
Create a One-Time Purchase (Lifetime)
One-time purchases use In-app products:
Create a New In-App Product
- Click Monetize → In-app products in the left menu
- Click Create product
- Fill in:
- Product ID: e.g.
pro_lifetime - Name: e.g.
Pro Lifetime - Description: Brief description
- Default price: e.g. $29.99
- Product ID: e.g.
- Click Save
Activate the Product
- Product is saved as Inactive
- Click Activate
Product ID Reference
After creating all products, record their IDs — you'll need them in RevenueCat and app-config.ts:
| Product | iOS Product ID | Android Product ID |
|---|---|---|
| Monthly | com.yourcompany.yourapp.pro.monthly | pro_monthly |
| Annual | com.yourcompany.yourapp.pro.yearly | pro_yearly |
| Lifetime | com.yourcompany.yourapp.pro.lifetime | pro_lifetime |
Product IDs can differ between platforms. Just fill them in separately under the
iosandandroidblocks inapp-config.ts.