In-app purchases
Sell a subscription by following the checklist on Publish › Purchases: the stores, RevenueCat, the paywall, the products and a test purchase.
Updated Oct 11, 2026

Steps
- Create the app on Google Play (Free), set up Play's payments profile, and sign Apple's Paid Apps Agreement.
- Connect RevenueCat under Server › Monetization (how).
- Ask the assistant for the paywall: RevenueCat, Restore purchases and the legal links.
- Send an App Bundle to internal testing; Google allows subscriptions only after a Play Billing build.
- On Publish › Purchases: Review, then Create subscription (
pro, base plansmonthlyandyearly). - Make the App Store's products (below), test a purchase, and Mark done.
App Store products
- On Publish › Purchases, switch to iOS and press Set up on the App Store.
- Check each product's type, name, description and price, pick the screen App Review should see, and press Make on the App Store.
- FluxNative makes them in App Store Connect (price, countries, review screenshot and note) and adds them to RevenueCat beside the Google Play ones. A product you started by hand only gets what it lacks.
- An app's first products go to review with the app: Submit for review takes the ones the app sells along. Later ones: Send for review.
Connect RevenueCat
- Create a RevenueCat project for this app only, with its App Store app (In-App Purchase key) and Play app. For the Play app, use a second service account, not the one FluxNative publishes with, invited in Play Console with View app information and download bulk reports (read-only), View financial data, orders, and cancellation survey responses, Manage orders and subscriptions and Manage store presence.
- Under Product catalog, create the entitlement
pro. - Under Project settings › API keys, create a V2 secret key (
sk_…): Project configuration Read & write, Customer information Read. - Paste it under Server › Monetization.
Test without paying
Add Google Play testers under Settings › License testing; they are never charged. On iPhone, sign in to a Sandbox account and install from TestFlight: a month renews in about 5 minutes. In RevenueCat, turn on View sandbox data.
Good to know
- Physical goods and services can't use in-app purchases: ask for Stripe (or VNPay, MoMo, ZaloPay, PayOS in Vietnam).
- Uploads refuse a demo paywall that unlocks without a store; builds refuse RevenueCat's
test_key. - Apple rejects paywalls without Restore purchases, Terms and privacy links, or a clear price and period (3.1.2).
- A Google product ID and its billing periods never change.
Related
Did this page help?