Expo IAP is a powerful in-app purchase solution for Expo and React Native applications that conforms to the Open IAP specification. It provides a unified API for handling in-app purchases across iOS and Android platforms with comprehensive error handling and modern TypeScript support.
If 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 →
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.
npx expo install expo-iapFor 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.