📦 This project now lives in the OpenIAP monorepo
react-native-iap is actively maintained — development simply moved home.
This repository is archived and kept read-only as history.
The npm package name is unchanged — npm install react-native-iap keeps working as always.
Background: 📢 announcement issue · discussion thread
React Native IAP
📚 Documentation
📖 Visit the documentation →
⚠️ Notice
Starting from version 14.0.0, this library uses Nitro Modules for high-performance native bridge implementation. You must install react-native-nitro-modules alongside react-native-iap.
Compatibility (Nitro 14.x)
[email protected] (Nitro) requires React Native 0.79+.
- Stuck on RN 0.75.x or lower? Use the last pre‑Nitro version:
npm i [email protected].
- Seeing Swift 6 C++ interop errors in Nitro (e.g.,
AnyMap.swift with cppPart.pointee.*)? Temporarily pin Swift to 5.10 for the NitroModules pod (see Installation docs) or upgrade RN and Nitro deps.
- Recommended: upgrade to RN 0.79+, update
react-native-nitro-modules/nitro-codegen, then pod install and clean build.
More details and the Podfile snippet are in the docs: https://hyochan.github.io/react-native-iap/docs/installation#ios
✨ Features
- 🔄 Cross-platform Support: Works seamlessly on both iOS and Android
- ⚡ Nitro Modules: High-performance native bridge with minimal overhead
- 🎯 TypeScript First: Full TypeScript support with comprehensive type definitions
- 🛡️ Centralized Error Handling: Unified error management with platform-specific error code mapping
- 🎣 React Hooks: Modern React hooks API with
useIAP
- 📱 Expo Compatible: Works with Expo development builds
- 🔍 Receipt Validation: Built-in receipt validation for both platforms
- 💎 Products & Subscriptions: Support for both one-time purchases and subscriptions
- 🚀 Performance Optimized: Efficient caching and minimal re-renders
🚀 Quick Start
npm install react-native-iap react-native-nitro-modules
# or
yarn add react-native-iap react-native-nitro-modules
📖 See the complete installation guide and quick start tutorial →
🏗️ Architecture
React Native IAP is built with a modern architecture that emphasizes:
- Nitro Modules: High-performance native bridge with C++ core and platform-specific implementations
- Type Safety: Comprehensive TypeScript definitions for all APIs
- Error Resilience: Centralized error handling with meaningful error codes
- Platform Abstraction: Unified API that handles platform differences internally
- Performance: Optimized for minimal bundle size and runtime performance
| Platform |
Support |
Notes |
| iOS |
✅ |
StoreKit 2 (requires iOS 15+) |
| Android |
✅ |
Google Play Billing v8.0.0+ |
| Expo Go |
❌ |
Not supported (requires native modules) |
| Expo Dev Client |
✅ |
Full support |
| Bare React Native |
✅ |
Full support |
📦 Installation & Configuration
Prerequisites
Before installing React Native IAP, make sure you have:
- React Native 0.64 or later, or Expo SDK 45 or later
- Node.js 16 or later
- iOS 15+ for iOS apps (StoreKit 2 requirement)
- Android API level 21+ for Android apps
Post Installation
Android Configuration
Kotlin Version Requirement: This library requires Kotlin 2.0+. Configure your project’s Kotlin version:
In your root android/build.gradle:
buildscript {
ext {
kotlinVersion = "2.1.20"
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
}
}
iOS Configuration
-
Install pods:
cd ios && pod install
-
Add StoreKit capability to your iOS app in Xcode:
- Open your project in Xcode
- Select your app target
- Go to “Signing & Capabilities”
- Click “+ Capability” and add “In-App Purchase”
Expo Configuration
For Expo projects, add the plugin to your app.json or expo.json:
{
"expo": {
"plugins": [
"react-native-iap",
[
"expo-build-properties",
{
"android": {
"kotlinVersion": "2.2.0"
}
}
]
]
}
}
Note: Expo projects require development build (dev-client) as this library contains native code.
Store Configuration
React Native IAP is OpenIAP compliant. For detailed store configuration:
🤖 Using with AI Assistants
React Native IAP provides AI-friendly documentation for Cursor, GitHub Copilot, Claude, and ChatGPT.
📖 AI Assistants Guide →
Quick links:
🎯 What’s Next?
📖 Visit our comprehensive documentation site →
Key Resources
Powered by OpenIAP

React Native 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: expo-iap · flutter_inapp_purchase · kmp-iap · maui-iap · godot-iap
Learn more about the OpenIAP standard →
💼 View Our Sponsors
Angel
Past Supporters
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. Buy me a coffee.
The original react-native-iap collective moved to opencollective.com/openiap and now supports the broader OpenIAP ecosystem.
Sponsors: 
Backers: 
Become a sponsor | Become a backer
Contributing

See our Contributing Guide for development setup and guidelines.
评论