In App Purchase module in Expo
npm install expo-iapIf you're shipping an app with expo-iap, we’d love to hear about it—please share your product and feedback in Who's using Expo IAP?. Community stories help us keep improving the ecosystem.

Compile-time CSS-in-JS for React Native
✨ Experience the next generation of styling with kstyled - a blazing-fast, fully type-safe CSS-in-JS solution with zero runtime overhead.
📖 Visit our comprehensive documentation site →
expo-iap provides AI-friendly documentation for Cursor, GitHub Copilot, Claude, and ChatGPT.
Quick links:
- llms.txt - Quick reference
- llms-full.txt - Full API reference
The expo-iap module has been migrated from react-native-iap. While we initially considered fully merging everything into react-native-iap, we ultimately decided to maintain the two libraries in parallel, each tailored to its own ecosystem.
- react-native-iap → a Nitro Modules–based implementation for React Native.
- expo-iap → an Expo Module with tighter integration and smoother compatibility in the Expo ecosystem.
Both libraries will continue to be maintained in parallel going forward.
📖 See the Future Roadmap and Discussion for more details.
👉 Stay updated via the Current Project Status comment.
``bash`
npx expo install expo-iap
For platform-specific configuration (Android Kotlin version, iOS deployment target, etc.), see the Installation Guide.
We welcome contributions! Please see our Contributing Guide for details on:
- Development setup
- Running the example app
- Testing guidelines
- Code style and conventions
- Submitting pull requests
For detailed usage examples and error handling, see the documentation.
> Sharing your thoughts—any feedback would be greatly appreciated!
We're building the OpenIAP ecosystem—defining the spec at openiap.dev, maintaining OpenIAP for the shared type system, and shipping platform SDKs like openiap-apple and openiap-google that power expo-iap, flutter_inapp_purchase, React Native, and kmp-iap. The work so far has focused on untangling fragmented APIs; the next milestone is a streamlined purchase flow: initConnection → fetchProducts → requestPurchase → (server receipt validation) → finishTransaction`.
Your sponsorship helps ensure developers across platforms, OS, and frameworks can implement in-app purchases without headaches. It also fuels new plugins, payment systems, and partner integrations already being explored in the OpenIAP community. Sponsors receive shout-outs in every release and can request tailored support depending on tier. If you’re interested—or have rollout feedback to share—you can view sponsorship options at openiap.dev/sponsors.