Mobile Apps

Monetisation: in-app purchases & subscriptions

Overview

Emergent supports native in-app purchases (IAP) and subscriptions for both iOS and Android, letting you monetise mobile apps with minimal setup. Revenue flows through Apple App Store and Google Play Store, with platform fees deducted automatically.

For cross-platform subscription management and entitlement sync, Emergent integrates RevenueCat. For direct payment links in India, you can use Razorpay web checkout flows.


Platform fees & revenue share

Note

Apple and Google collect their fees directly from customer payments before remitting revenue to your developer account.

StoreStandard rateSmall Business rateEligibility
Apple App Store30%15%Developers earning <$1M/year across all apps
Google Play15-30% by revenue tierVaries by revenue tier

Apple In-App Purchase (IAP)

How it works

  1. Define consumable, non-consumable or auto-renewable subscription products in App Store Connect.
  2. Your agent can wire up product IDs and purchase flows using RevenueCat.
  3. Receipts are validated server-side to unlock entitlements.
1

Create IAP products in App Store Connect

Log into App Store Connect → My Apps → your app → In-App Purchases → +. Configure product ID, pricing and localisations.

2

Add product IDs to your Emergent project

Tell your agent which product IDs to implement (e.g.

premium_monthly
,
coins_100
). The agent will generate the purchase code and UI.

3

Test with sandbox accounts

Create sandbox test users in App Store Connect → Users and Access → Sandbox Testers. Sign in with that account on your test device to trial purchases without real charges.

4

Validate receipts server-side

Your Emergent backend verifies receipts with Apple's validation API and grants entitlements in your database.

Sandbox vs production receipts

Apple issues different receipt signatures for sandbox and production. Your validation logic must target the correct endpoint (

buy.itunes.apple.com
for production,
sandbox.itunes.apple.com
for testing).


Google Play Billing

How it works

Google Play Billing works similarly: define products in the Play Console, integrate the Billing Library in your Android app, and validate purchases server-side via the Play Developer API.

1

Set up products in Google Play Console

Monetize → Products → Create product. Choose one-time, consumable or subscription, assign a SKU and set pricing.

2

Integrate Play Billing Library

Describe the purchase flow to your agent (e.g. "Show a paywall for

premium_yearly
") and it will wire up the billing integration.

3

Test with license testers

Add test Google accounts under Setup → License Testing in the Play Console. These accounts can make real purchase flows that don't charge a card.

4

Verify purchase tokens

After a successful purchase, send the token to your backend. Call the Play Developer API to confirm validity and grant access.

Tip

Enable real-time developer notifications (RTDN) in the Play Console to receive webhook events when subscriptions renew, cancel or expire.


Cross-platform entitlements with RevenueCat

RevenueCat is a third-party service that unifies IAP logic across iOS, Android and web. It handles receipt validation, webhook delivery, and customer entitlement state - so you query one API instead of maintaining separate Apple and Google integrations.

Why use RevenueCat?

Single source of truth

Check a user's subscription status with one REST call, regardless of which store they purchased from.

Webhooks for lifecycle events

Receive real-time notifications on purchase, renewal, cancellation, refund or billing issue.

Paywall experiments

A/B test pricing and messaging without app updates (requires RevenueCat Paywalls SDK).

Analytics & churn metrics

Built-in dashboard for MRR, LTV, churn cohorts and trial conversion.

Integration steps

1

Create a RevenueCat account

Sign up at revenuecat.com and create a new project.

2

Add platform credentials

Under Project Settings, upload your Apple Shared Secret (from App Store Connect) and Google Service Account JSON (from Play Console → API access).

3

Define entitlements

In the RevenueCat dashboard, create entitlements like

premium
or
pro
and map your App Store / Play Store product IDs to them.

4

Add RevenueCat from the Connectors panel

Open your app's Preview, click Manage (to the right of Preview), then open the Connectors tab. Find the RevenueCat tile and click Add, then follow the prompts to connect your RevenueCat project. The platform wires the SDK into your app and stores your API key securely.

5

Check entitlements in your app

Call

Purchases.shared.getCustomerInfo()
(iOS) or
Purchases.sharedInstance.customerInfo
(Android) to see which entitlements the user has. Your backend can also query the REST API if you prefer server-side checks.

Info

RevenueCat's free tier supports up to $2.5k monthly tracked revenue. Beyond that, pricing is 1% of tracked revenue. See RevenueCat pricing for details.


For web-based checkout flows or payment links (particularly useful in India), you can integrate Razorpay.

Note

Razorpay checkout is a web experience - best for one-time purchases, donations or manual top-ups. For recurring mobile subscriptions tied to app store accounts, use Apple IAP or Google Play Billing instead.

When to use Razorpay

  • Direct payment links: Send a customer a Razorpay link via SMS, email or in-app browser.
  • UPI, cards, wallets: Support popular Indian payment methods outside the app stores.
  • Lower fees: Razorpay charges fees that are lower than app store rates (but you lose the store's trust signals and one-tap purchase UX).

How to add it

1

Open the Connectors panel

Open your app's Preview, click Manage (to the right of Preview), then open the Connectors tab.

2

Add the Razorpay connector

Find the Razorpay tile and click Add, then follow the prompts to connect your Razorpay account.

See the Razorpay page for going live and webhook handling.



Compliance & policies

App store review guidelines

Both Apple and Google prohibit alternative payment mechanisms for digital goods (e.g. coins, premium features) sold inside the app. You must use IAP/Play Billing for such items. Razorpay links are only acceptable for physical goods, services or donations.

Yes, but you cannot advertise or link to it from the iOS/Android app (Apple/Google rules). Users who find your site independently can subscribe there, then sign in to the app to unlock features.

Both stores support promo codes (Apple: Offer Codes; Google: Promo Codes). Generate them in the respective console and distribute via email, social media or influencer partnerships.

Apple and Google handle refunds directly. You'll receive a webhook (or RTDN) event when a refund is issued; revoke the user's entitlement in your database at that point.

Stripe is hidden on Expo/React Native projects in Emergent (Razorpay and PayPal remain available). For digital content or features unlocked in the app, you must use native IAP regardless of payment provider.


Testing purchases without spending money

Create sandbox test accounts in App Store Connect → Users and Access → Sandbox Testers. Sign in with that Apple ID on your device (Settings → App Store → Sandbox Account) to make test purchases that don't charge a real card.

Accelerated renewals in sandbox

Apple's sandbox compresses subscription durations: a one-month subscription renews every 5 minutes. This lets you test renewal, expiry and grace-period logic quickly.


Best practices

  1. Show clear pricing and terms before the purchase sheet appears - both stores require transparency.
  2. Handle pending transactions: A purchase can be interrupted (user switches apps, loses connectivity). Resume the transaction flow on next launch.
  3. Log all purchase events: Store receipts and transaction IDs in your database for audit trails and customer support.
  4. Offer a restore-purchases button: Users who reinstall or switch devices need a way to re-validate their entitlements.
  5. Monitor failed renewals: Set up webhooks (RevenueCat or native RTDN) to catch billing issues and prompt users to update payment info.

Ready to monetise

With native IAP, RevenueCat entitlements and optional Razorpay links, you have flexible monetisation options for any mobile app. Ask your Emergent agent to implement the purchase flow that fits your business model.


Was this page helpful?

Related pages