Monetization > Inapp Purchase
Features set of 'in app purchase' derived from react-native-iap by dooboolab.
⚠️ This repository has moved to the OpenIAP monorepo. This repository is deprecated and will be archived soon. All future development happens in the monorepo. See the 📢 announcement issue or the discussion thread for details. This repository is deprecated and will be archived soon. All future development happens in the monorepo. Please see the announcement for details.
flutter_inapp_purchase
A comprehensive Flutter plugin for implementing in-app purchases that conforms to the Open IAP specification
📚 Documentation
📖 Visit our comprehensive documentation site →
📦 Installation
dependencies:
flutter_inapp_purchase: ^8.0.0
🔧 Quick Start
Basic Usage
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';
},
);
Using with AI Assistants
flutter_inapp_purchase provides AI-friendly documentation for Cursor, GitHub Copilot, Claude, and ChatGPT.
Quick links:
- llms.txt - Quick reference
- llms-full.txt - Full API reference
Development
See CONTRIBUTING.md for development setup and guidelines.
Singleton Usage
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
Powered by OpenIAP
flutter_inapp_purchase conforms to the OpenIAP specification — an open, vendor-neutral interoperability standard for in-app purchases. OpenIAP provides:
- Shared specification — Common types, error codes, and purchase flows across all platforms
- Generated type-safe bindings — Swift, Kotlin, Dart, and GDScript from a single GraphQL schema
- Platform implementations — openiap-apple (StoreKit 2) and openiap-google (Play Billing 8.x)
- Verification profiles — Standardized receipt validation and purchase verification patterns
Other libraries built on OpenIAP: react-native-iap · expo-iap · kmp-iap · godot-iap
Learn more about the OpenIAP standard →
Sponsors
📄 License
MIT License - see LICENSE file for details.
