React Native IAP
π¨ Promotion
Compile-time CSS-in-JS for React Native
β¨ Banishing runtime overhead, one style at a time with kstyled - fully type-safe styling that compiles away.
π Explore kstyled β
π Documentation
π Visit our comprehensive documentation site β
β οΈ 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)
react-native-iap@14.x (Nitro) requires React Native 0.79+.
- Stuck on RN 0.75.x or lower? Use the last preβNitro version:
npm i react-native-iap@13.1.0.
- 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
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
| 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
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
πΌ 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.
We also manage sponsorships through OpenCollective, which operates separately from our main sponsor program.
Sponsors: 
Backers: 
Become a sponsor | Become a backer
Contributing

See our Contributing Guide for development setup and guidelines.