Profile
Back to NewsBack
GitHub Trending 4 min
Reader Mode
hyodotdev/openiap: Standardized protocol for in-app purchases across all platforms — backed by Meta & Amazon

hyodotdev/openiap: Standardized protocol for in-app purchases across all platforms — backed by Meta & Amazon

4 hours ago

OpenIAP

OpenIAP Logo

The standardized protocol for implementing in-app purchases across all platforms


OpenIAP is two protocols for in-app purchases across platforms, frameworks, and emerging technologies: the Client Protocol for what an app calls, and the Commerce Protocol for what servers exchange.

Overview

The two protocols standardize IAP implementations to reduce fragmentation and enable consistent behavior across every platform. The Client Protocol gives an app one purchase API whatever the store; the Commerce Protocol gives backends one contract for verification, entitlements, and subscription lifecycle events. This is especially critical in the AI coding era where standardized APIs enable better code generation.

Protocols

The contracts every package and library implements live under specs/. They are publishable, implementation-independent, and never deployed as services:

Packages

This monorepo contains all OpenIAP packages:

  • google - Android library Maven Central (Play)</a> Maven Central (Horizon)</a> CI</a>
  • apple - iOS/macOS library Swift Package</a> CocoaPods</a> CI</a>
  • docs - Documentation site at openiap.dev
  • cli - @hyodotdev/openiap prints an AI implementation brief and runs local configuration checks. npm</a>
  • mcp-server - IAPKit MCP server, hosted at kit.openiap.dev/mcp for AI coding agents
  • kit - Open-source purchase validation and entitlement infrastructure for the OpenIAP ecosystem, with a hosted service and dashboard at kit.openiap.dev. Free for every developer under hosted fair-use safeguards. Kit CI</a>

Libraries

Framework SDK implementations built on top of OpenIAP. These libraries are managed in this monorepo — see discussion #86 for the rationale and migration context.

| Library | Platform | Package | Downloads | | ---------------------------------------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ | | expo-iap | Expo | [![expo stable][expo-stable-badge]][expo-npm] | [![npm downloads][expo-downloads-badge]][expo-npm] | | react-native-iap | React Native | [![rn stable][rn-stable-badge]][rn-npm] | [![npm downloads][rn-downloads-badge]][rn-npm] | | flutter_inapp_purchase | Flutter | [![flutter stable][flutter-stable-badge]][flutter-pub] | [![pub.dev downloads][flutter-downloads-badge]][flutter-pub] | | kmp-iap | Kotlin Multiplatform | [![kmp stable][kmp-stable-badge]][kmp-maven] | — | | maui-iap | .NET MAUI | [![maui stable][maui-stable-badge]][maui-nuget] | [![NuGet downloads][maui-downloads-badge]][maui-nuget] | | godot-iap | Godot 4.x | [![godot stable][godot-stable-badge]][godot-releases] [![Godot Asset Library][godot-asset-badge]][godot-asset] | — |

[expo-stable-badge]: https://img.shields.io/npm/v/expo-iap/latest?label=stable&logo=npm&color=CB3837 [expo-downloads-badge]: https://img.shields.io/npm/dm/expo-iap?label=npm&color=CB3837 [expo-npm]: https://www.npmjs.com/package/expo-iap [rn-stable-badge]: https://img.shields.io/npm/v/react-native-iap/latest?label=stable&logo=npm&color=CB3837 [rn-downloads-badge]: https://img.shields.io/npm/dm/react-native-iap?label=npm&color=CB3837 [rn-npm]: https://www.npmjs.com/package/react-native-iap [flutter-stable-badge]: https://img.shields.io/pub/v/flutter_inapp_purchase?label=stable&logo=dart&color=0175C2 [flutter-downloads-badge]: https://img.shields.io/pub/dm/flutter_inapp_purchase?label=downloads&logo=dart&color=0175C2 [flutter-pub]: https://pub.dev/packages/flutter_inapp_purchase [kmp-stable-badge]: https://img.shields.io/badge/dynamic/xml?label=stable&query=/metadata/versioning/versions/version%5Bnot(contains(.,%22-%22))%5D%5Blast()%5D&url=https%3A%2F%2Frepo1.maven.org%2Fmaven2%2Fio%2Fgithub%2Fhyochan%2Fkmp-iap%2Fmaven-metadata.xml&prefix=v&logo=kotlin&color=7F52FF [kmp-maven]: https://central.sonatype.com/artifact/io.github.hyochan/kmp-iap [maui-stable-badge]: https://img.shields.io/nuget/v/OpenIap.Maui?label=stable&logo=nuget&color=004880 [maui-downloads-badge]: https://img.shields.io/nuget/dt/OpenIap.Maui?label=downloads&logo=nuget&color=004880 [maui-nuget]: https://www.nuget.org/packages/OpenIap.Maui [godot-stable-badge]: https://img.shields.io/github/v/release/hyodotdev/openiap?filter=godot-iap-*&display_name=tag&label=stable&logo=godot-engine&color=478CBF [godot-releases]: https://github.com/hyodotdev/openiap/releases?q=godot-iap&expanded=true [godot-asset-badge]: https://img.shields.io/badge/asset_library-godot--iap-478CBF?logo=godotengine [godot-asset]: https://godotengine.org/asset-library/asset/4627

Documentation

Visit openiap.dev for complete documentation and API reference.

Community

Have a question or need help? Ask in the relevant GitHub Discussions category:

| Library | Discussion | | ---------------------- | ----------------------------------------------------------------------------------------- | | openiap-apple | Q&A | | openiap-google | Q&A | | expo-iap | Q&A | | react-native-iap | Q&A | | flutter_inapp_purchase | Q&A | | kmp-iap | Q&A | | maui-iap | Q&A | | godot-iap | Q&A | | IAPKit | Q&A |

For bug reports, please open an issue.

Sponsors

Meta        Amazon Developer

Thank you to Meta and Amazon Developer for supporting OpenIAP. View sponsorship options.

OpenCollective

We also recognize sponsors and backers through OpenCollective. The original react-native-iap collective now supports the broader OpenIAP ecosystem and is managed separately from the main sponsor program.

Sponsors: OpenCollective sponsors

Backers: OpenCollective backers

Become a sponsor | Become a backer

Past supporters

Supported the project before the OpenIAP sponsor program.

Nami      Courier

[openiap-sponsors]: https://openiap.dev/sponsors [openiap-github-sponsors]: https://github.com/sponsors/hyodotdev [openiap-opencollective]: https://opencollective.com/openiap [openiap-paypal]: https://www.paypal.me/dooboolab [openiap-company-contact]: mailto:[email protected]

Contributing

OpenIAP contributors

OpenIAP began with the original react-native-iap community and carries that work forward across the broader ecosystem:

react-native-iap contributors

See CONTRIBUTING.md for development setup, workflows, and contribution guidelines.

Chat with me