// the find
hyochan/react-native-iap
In App Purchase module for React Native that confirms OpenIAP
A React Native module for handling in-app purchases (subscriptions and one-time products) across iOS and Android, built on Nitro Modules for the native bridge and conforming to the OpenIAP spec. It's for RN/Expo developers shipping paid content or subscriptions who don't want to hand-roll StoreKit 2 and Play Billing 8 separately. Note: this exact repo is archived — active development moved to hyodotdev/openiap's monorepo, though the npm package name is unchanged.
Nitro Modules gives it a real native bridge instead of the old bridge/TurboModule shims, which should mean lower overhead and better type generation between TS and native code. It targets current platform APIs (StoreKit 2, Play Billing 8.x) rather than legacy receipt validation flows, and the OpenIAP spec means the same purchase/error model is shared across the Flutter, KMP, and MAUI siblings if you ever port the app. CI matrix covers Android and iOS builds plus an Expo example app, and codecov is wired in, so test coverage isn't just theater.
The repo you'd be looking at on GitHub is archived and read-only — issues, PRs, and the real commit history now live in the openiap monorepo, so anyone landing here from a search engine or old bookmark is one step removed from where the work actually happens. The Nitro rewrite is a hard compatibility line: RN 0.75 and below need the old 13.1.0 branch, and there are known Swift 6 interop breakages requiring a manual Swift 5.10 pin — not a small footnote if you're on an older RN version. It's Expo dev-client only, no Expo Go, which is standard for native-module libraries but still a real onboarding cost for teams used to Expo Go's speed.