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 →
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
- Onside Integration - Using Onside marketplace payments on iOS
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!
Expo IAP conforms to the OpenIAP specification — an open, vendor-neutral interoperability standard for in-app purchases. OpenIAP provides:
- Shared specification — Common types, error codes, and purchase flows across all platforms
- Generated type-safe bindings — Swift, Kotlin, Dart, and GDScript from a single GraphQL schema
- Platform implementations — openiap-apple (StoreKit 2) and openiap-google (Play Billing 8.x)
- Verification profiles — Standardized receipt validation and purchase verification patterns
Other libraries built on OpenIAP: react-native-iap · flutter_inapp_purchase · kmp-iap · godot-iap
Learn more about the OpenIAP standard →
