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#

FrameworkLanguageDescription
ExpoTypeScriptExpo 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 NativeTypeScriptBare 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.
FlutterDartFlutter 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 MultiplatformKotlinKMP / 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 MAUIC#.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.
GodotGDScriptGodot 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: