Skip to main content
Version: 3.4 (Current)

Powered by OpenIAP

OpenIAP

Expo IAP conforms to the OpenIAP specification — an open, vendor-neutral interoperability standard for in-app purchases across all platforms and frameworks.

What is OpenIAP?

OpenIAP is not just a library — it's a shared specification layer that ensures consistent, secure, and verifiable in-app purchase behavior everywhere. Instead of each framework reinventing its own types, error models, and verification flows, OpenIAP defines them once in a single GraphQL schema and generates type-safe bindings for every platform.

How It Works

GraphQL Schema (Single Source of Truth)


IR (Intermediate Representation)

├── Swift bindings → openiap-apple (StoreKit 2)
├── Kotlin bindings → openiap-google (Play Billing 8.x)
├── Dart bindings → flutter_inapp_purchase
└── GDScript bindings → godot-iap

What OpenIAP Provides

ComponentDescription
Shared SpecificationCommon types, error codes, and purchase flows across all platforms
Generated Type-Safe BindingsSwift, Kotlin, Dart, and GDScript from a single GraphQL schema
Platform Implementationsopeniap-apple (StoreKit 2) and openiap-google (Play Billing 8.x)
Verification ProfilesStandardized receipt validation and purchase verification patterns
Conformance TestsCross-platform test matrix ensuring behavioral consistency

Libraries Built on OpenIAP

LibraryPlatform
react-native-iapReact Native
expo-iapExpo
flutter_inapp_purchaseFlutter
kmp-iapKotlin Multiplatform
godot-iapGodot Engine

Learn More