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

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