In-app purchases & payments
draftedconfidence: mediumthis tier holds 50% on the public scorecard (3/19 graded · 0 overturned) →
recommendation
Subscriptions → RevenueCat (it absorbs receipt validation + entitlement infra). Direct store billing without a third party → expo-iap (Expo) or react-native-iap.
- small team, subscriptions, don't want a billing backend → RevenueCat
- one-time purchases / avoid vendor fees → expo-iap / react-native-iap (you own validation)
- wallet passes (tickets/loyalty/coupons) → react-native-wallet (set up an Apple Pass Type ID + entitlements; not tap-to-pay)
Options & tradeoffs
| option | tradeoff | evidence |
|---|---|---|
| expo-iap | OpenIAP-compliant IAP; Google Play Billing v8 / Apple StoreKit; avoids ejecting | 124k/wk |
| react-native-iap | long-standing community IAP wrapper; now deprecated/archived → folded into the OpenIAP monorepo, prefer expo-iap | 127k/wk |
| RevenueCat | hosted subscription infra + entitlements across stores; fees vs less server work | 770k/wk |
| react-native-wallet | Apple PassKit / Google Wallet passes (tickets, loyalty, coupons) — NOT tap-to-pay; iOS needs a Pass Type ID + entitlements |
npm weekly downloads (from the corpus's last signals run): react-native-purchases 770k · react-native-iap 127k · expo-iap 124k
Verified notes
Store rules + receipt validation make IAP testing-heavy; hosted options (RevenueCat) trade fees for less backend.
Canonical reading
Editorial annotations on why each piece matters — the articles themselves are the originals; read them there.
Why unifying subscription entitlements across iOS/Android is hard — Apple signed-JWS vs Google purchase-token REST, HTTPS notifications vs Cloud Pub/Sub, subscription groups vs base plans/offers — and the four-part DIY architecture. The root reason IAP libraries/services exist.
A resilience case study for keeping purchases working when subscription backends fail — cached paywall snapshots, temporary offline entitlements, buffered request log/replay — with tradeoffs made explicit. The realities of subscription infra regardless of library.
Sources
Related in platform-native: native · media · storage · native-ui · keyboard · brownfield · games · alt-frameworks