Flutter In App Purchase plugin that confirms OpenIAP
595
stars
572
commits
Dart
primary language
Aug 4, 2026
updated
[!IMPORTANT] ⚠️ This repository has moved to hyodotdev/openiap. flutter_inapp_purchase is now developed in the monorepo at
libraries/flutter_inapp_purchase— this repository is archived and read-only.
flutter_inapp_purchase is actively maintained — development simply moved home.
This repository is archived and kept read-only as history.
| 🧭 Source code | hyodotdev/openiap → libraries/flutter_inapp_purchase |
| 🏠 Monorepo | hyodotdev/openiap |
| 📚 Docs | openiap.dev/docs/setup/flutter · legacy docs |
| 🐛 Issues | hyodotdev/openiap/issues |
| 💬 Q&A | flutter_inapp_purchase discussions |
The pub.dev package name is unchanged — flutter pub add flutter_inapp_purchase keeps working as always.
Background: 📢 announcement issue · discussion thread
A comprehensive Flutter plugin for implementing in-app purchases that conforms to the Open IAP specification
dependencies:
flutter_inapp_purchase: ^8.0.0
import 'package:flutter_inapp_purchase/flutter_inapp_purchase.dart';
// Create instance
final iap = FlutterInappPurchase();
// Initialize connection
await iap.initConnection();
// Fetch products with explicit type
final products = await iap.fetchProducts<Product>(
skus: ['product_id'],
type: ProductQueryType.InApp,
);
// Request purchase (builder DSL)
await iap.requestPurchaseWithBuilder(
build: (builder) {
builder
..type = ProductQueryType.InApp
..android.skus = ['product_id']
..ios.sku = 'product_id';
},
);
flutter_inapp_purchase provides AI-friendly documentation for Cursor, GitHub Copilot, Claude, and ChatGPT.
Quick links:
See CONTRIBUTING.md for development setup and guidelines.
For global state management or when you need a shared instance:
// Use singleton instance
final iap = FlutterInappPurchase.instance;
await iap.initConnection();
// The instance is shared across your app
final sameIap = FlutterInappPurchase.instance; // Same instance
flutter_inapp_purchase conforms to the OpenIAP specification — an open, vendor-neutral interoperability standard for in-app purchases. OpenIAP provides:
Other libraries built on OpenIAP: react-native-iap · expo-iap · kmp-iap · maui-iap · godot-iap
Learn more about the OpenIAP standard →
MIT License - see LICENSE file for details.
(top 30 of 51)
Dart
81.1%
Swift
9.3%
Kotlin
8.1%
Flutter In App Purchase plugin that confirms OpenIAP
595
stars
572
commits
Dart
primary language
Aug 4, 2026
updated
[!IMPORTANT] ⚠️ This repository has moved to hyodotdev/openiap. flutter_inapp_purchase is now developed in the monorepo at
libraries/flutter_inapp_purchase— this repository is archived and read-only.
flutter_inapp_purchase is actively maintained — development simply moved home.
This repository is archived and kept read-only as history.
| 🧭 Source code | hyodotdev/openiap → libraries/flutter_inapp_purchase |
| 🏠 Monorepo | hyodotdev/openiap |
| 📚 Docs | openiap.dev/docs/setup/flutter · legacy docs |
| 🐛 Issues | hyodotdev/openiap/issues |
| 💬 Q&A | flutter_inapp_purchase discussions |
The pub.dev package name is unchanged — flutter pub add flutter_inapp_purchase keeps working as always.
Background: 📢 announcement issue · discussion thread
A comprehensive Flutter plugin for implementing in-app purchases that conforms to the Open IAP specification
dependencies:
flutter_inapp_purchase: ^8.0.0
import 'package:flutter_inapp_purchase/flutter_inapp_purchase.dart';
// Create instance
final iap = FlutterInappPurchase();
// Initialize connection
await iap.initConnection();
// Fetch products with explicit type
final products = await iap.fetchProducts<Product>(
skus: ['product_id'],
type: ProductQueryType.InApp,
);
// Request purchase (builder DSL)
await iap.requestPurchaseWithBuilder(
build: (builder) {
builder
..type = ProductQueryType.InApp
..android.skus = ['product_id']
..ios.sku = 'product_id';
},
);
flutter_inapp_purchase provides AI-friendly documentation for Cursor, GitHub Copilot, Claude, and ChatGPT.
Quick links:
See CONTRIBUTING.md for development setup and guidelines.
For global state management or when you need a shared instance:
// Use singleton instance
final iap = FlutterInappPurchase.instance;
await iap.initConnection();
// The instance is shared across your app
final sameIap = FlutterInappPurchase.instance; // Same instance
flutter_inapp_purchase conforms to the OpenIAP specification — an open, vendor-neutral interoperability standard for in-app purchases. OpenIAP provides:
Other libraries built on OpenIAP: react-native-iap · expo-iap · kmp-iap · maui-iap · godot-iap
Learn more about the OpenIAP standard →
MIT License - see LICENSE file for details.
(top 30 of 51)
Dart
81.1%
Swift
9.3%
Kotlin
8.1%