Tooling

Mobile — In-App Purchases (RevenueCat & friends)

StoreKit 2, Google Play Billing, RevenueCat / Adapty / Glassfy — IAP in 2026.

In-app purchases are the most important / annoying surface in mobile monetization. The Apple-15-or-30%, Google-10-or-15-or-30% tax structure remains; EU DMA (since 2024) introduced alternative payment options on iOS in Europe (with Apple's Core Technology Fee complications). For non-IAP payments see payments and subscriptions-billing. For ASO / store reviews see Mobile — App Store Optimization.

The two native APIs

  • StoreKit 2 (iOS 15+) — modern Swift API; subscriptions, products, transactions; verification via JWS in-process. Replaces StoreKit 1 boilerplate.
  • Google Play Billing v7+ — Android billing API; subscriptions, products, base plans, offers.
  • AppPurchaser, Promo codes, Subscription offers — Apple-specific perks.

Cross-platform hosted (the indie default)

  • RevenueCat — the dominant choice for indie / SMB IAP in 2026. SDKs for iOS, Android, RN, Flutter, Web, Unity. Free up to $2.5k MTR, then a percentage. Subscription analytics, A/B testing, paywall builder, offerings, entitlements, webhooks, integrations with Mixpanel/Amplitude/PostHog/Stripe.
  • Adapty — RevenueCat alternative; competitive pricing; native paywall builder; A/B testing. Free tier exists.
  • Glassfy — IAP infrastructure; free tier.
  • Qonversion — analytics-flavored IAP; free + paid.
  • Apphud — IAP + paywalls + churn; paid.
  • Purchasely — paywall-focused; paid.
  • Nami ML — paywall + ML-driven optimization; paid.

Why teams use a service vs raw StoreKit/Play Billing

  • Cross-platform entitlement model — one "user is pro" check, two stores.
  • Subscription lifecycle webhooks — handle renewals, refunds, grace periods server-side.
  • Receipt validation — done server-side, securely.
  • Paywall A/B testing — change plans/prices/copy without an app release.
  • Analytics out-of-the-box — MRR, churn, conversion.

RN

  • react-native-iap — bare RN bindings to native APIs.
  • react-native-purchases (RevenueCat) — wraps the cross-platform service.
  • expo-in-app-purchases — Expo wrapper (less actively developed).

Flutter

  • in_app_purchase — official.
  • purchases_flutter (RevenueCat).

Capacitor

  • @capacitor-community/in-app-purchases, RevenueCat Capacitor plugin.

Web / desktop bridges

  • Stripe for non-store flows (web, desktop) — see payments.
  • Paddle Mobile / Paddle Payments — handles MoR / VAT; not store-IAP.

EU DMA / alternative app stores (2024–26)

  • AltStore PAL — third-party iOS marketplace in EU; alternative payment options.
  • Setapp Mobile (MacPaw) — subscription-bundle store.
  • Apple's Core Technology Fee — €0.50/install/year above 1M annual installs; complicates math for free apps with breakouts.
  • Reader apps entitlement — long-running carve-out for content apps.

Receipt validation / server side

  • App Store Server API — Apple's REST API for transaction verification, refund webhooks.
  • Google Play Developer API — Android equivalent.
  • RevenueCat / Adapty / Glassfy abstract both behind one webhook.

Pick this if…

  • Default indie / SMB: RevenueCat. Free until you start making real money.
  • RevenueCat alternative: Adapty.
  • You're huge and want to own all infra: raw StoreKit 2 + Play Billing v7 with your own server.
  • Bundle / subscription-cross-platform with web component: RevenueCat + Stripe Web.
  • Reader app (Apple carve-out): raw StoreKit + your own web subscription.

On this page