Skip to content
This repository was archived by the owner on Aug 4, 2026. It is now read-only.

About

Flutter In App Purchase plugin that confirms OpenIAP

Topics

Resources

Contributing

Stars

595 stars

Watchers

11 watching

Forks

Latest commit

 

History

576 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

OpenIAP

📦 This project now lives in the OpenIAP monorepo

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


flutter_inapp_purchase

flutter_inapp_purchase logo

Pub Version Flutter CI OpenIAP Coverage Status License

A comprehensive Flutter plugin for implementing in-app purchases that conforms to the Open IAP specification

Open IAP

📚 Documentation

📖 Visit the documentation →

📦 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.

AI Assistants Guide

Quick links:

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

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 · maui-iap · godot-iap

Learn more about the OpenIAP standard →

Sponsors

💼 View Our Sponsors

📄 License

MIT License - see LICENSE file for details.

About

Flutter In App Purchase plugin that confirms OpenIAP

Topics

Resources

Contributing

Stars

595 stars

Watchers

11 watching

Forks

Releases

Packages

Used by

Contributors

Languages