Framework Setup
Pick the framework you ship in. The SDKs share the OpenIAP purchase contract, with language-specific types, callbacks, and lifecycle patterns. Follow your framework's guide for working code.
Supported Frameworks#
| Framework | Language | Description |
|---|---|---|
| Expo | TypeScript | Expo SDK projects via Expo Modules. Same API surface as react-native-iap, including the `useIAP` hook, with managed-workflow-friendly install. Recommended for any Expo app. |
| React Native | TypeScript | Bare React Native CLI projects (RN 0.79+). Built on Nitro Modules with the `useIAP` hook, error normalization, and full StoreKit 2 / Play Billing 9.1 coverage. |
| Flutter | Dart | Flutter apps via the `flutter_inapp_purchase` package. Generated `types.dart`, sealed-class results, and a Stream-based event API that mirrors the OpenIAP schema. |
| Kotlin Multiplatform | Kotlin | KMP / Compose Multiplatform via the `kmp-iap` library. Flow-based API on top of OpenIAP, with CocoaPods integration for iOS targets and shared business logic across platforms. |
| .NET MAUI | C# | .NET MAUI / C# 12 via the `maui-iap` library (OpenIap.Maui on NuGet). Ships as one NuGet package with generated `Types.cs`, flattened Android AAR bindings, and StoreKit xcframework resources for iOS / macCatalyst. |
| Godot | GDScript | Godot 4.x via the `godot-iap` plugin (iOS GDExtension + Android AAR). Exposes the same OpenIAP function set so the same purchase flow can ship across mobile + console targets. |
Before You Start#
Each framework guide assumes you've already finished the platform store configuration. Complete those first:
- iOS Setup — App Store Connect agreement, capabilities, sandbox testers
- Android Setup — Play Console account, license testers, billing permission
- Store Setup — Horizon OS, Fire OS, Vega OS, and alternative marketplace targets
Cross-Cutting Topics#
These pages apply regardless of which framework you pick — read them once, then jump back to your framework guide:
- API Reference — every function, organized by symbol
- Type Definitions — every type with field tables and cross-links
- Events & Listeners — purchase / error / promoted-product event patterns
- Validation — server verification, IAPKit integration
- Error Handling — unified
PurchaseErrorshape and error codes