⚠️ This repository has moved to the OpenIAP monorepo. This repository is deprecated and will be archived soon. All future development happens in the monorepo. See the 📢 announcement issue or the discussion thread for details. This repository is deprecated and will be archived soon. All future development happens in the monorepo. Please see the announcement for details.
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 →
