PackageTrack
Sign in Get early access

in_app_purchase

A Flutter plugin for in-app purchases. Exposes APIs for making in-app purchases through the App Store and Google Play.

3.3.0 1000K downloads/mo #71 most downloaded on pub.dev flutter/packages

What this package is like to depend on

Last release 2 months ago

04 Jun 2026

Release timing varies

gaps range from 2 weeks to 13 months

Nearly every release is documented

notes for 106 of 106 stable releases

Nothing withdrawn

no release was ever pulled

8 years old

106 releases · first in 2018

2 releases in the last 12 months

see the full history below

Release timeline

106 releases · Nov 2018 to Jun 2026
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 106
  1. 3.3.0 03 Jun 2026
    Release notes
    • Updates in_app_purchase_android dependency to ^0.5.0.
    Open source →
  2. 3.2.4 04 Jun 2026
    Release notes
    • Bump org.json:json from 20251224 to 20260522 in example.
    • Updates minimum supported SDK version to Flutter 3.38/Dart 3.10.
    • Updates README to reflect currently supported OS versions for the latest versions of the endorsed platform implementations.
      • Applications built with older versions of Flutter will continue to use compatible versions of the platform implementations.
    • Clarifies completePurchase usage and the consequences of unfinished transactions in the README and docstrings.
    Open source →
  3. 3.2.3 15 May 2025
    Release notes
    • Updates minimum in_app_purchase_storekit version to 0.4.0.
    Open source →
  4. 3.2.2 12 May 2025
    Release notes
    • Updates README with Storekit 2 examples.
    • Updates README to indicate that Andoid SDK <21 is no longer supported.
    Open source →
  5. 3.2.1 23 Jan 2025
    Release notes
    • Updates minimum supported SDK version to Flutter 3.24/Dart 3.5.
    • Updates in_app_purchase_android to 0.4.0.
    Open source →
  6. 3.2.0 17 Apr 2024
    Release notes
    • Adds countryCode API.
    • Updates minimum supported SDK version to Flutter 3.13/Dart 3.1.
    • Updates support matrix in README to indicate that iOS 11 is no longer supported.
    • Clients on versions of Flutter that still support iOS 11 can continue to use this package with iOS 11, but will not receive any further updates to the iOS implementation.
    Open source →
  7. 3.1.13 09 Jan 2024
    Release notes
    • Updates minimum required plugin_platform_interface version to 2.1.7.
    Open source →
  8. 3.1.12 04 Jan 2024
    Release notes
    • Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
    • Fixes new lint warnings.
    Open source →
  9. 3.1.11 11 Oct 2023
    Release notes
    • Updates documentation reference of finishPurchase to completePurchase.
    Open source →
  10. 3.1.10 30 Aug 2023
    Release notes
    • Updates example code for current versions of Flutter.
    Open source →
  11. 3.1.9 30 Aug 2023
    Release notes
    • Adds pub topics to package metadata.
    • Updates minimum supported SDK version to Flutter 3.7/Dart 2.19.
    Open source →
  12. 3.1.8 04 Aug 2023
    Release notes
    • Updates documentation on handling subscription price changes to match Android's billing client v5.
    Open source →
  13. 3.1.7 24 May 2023
    Release notes
    • Fixes unawaited_futures violations.
    Open source →
  14. 3.1.6 23 May 2023
    Release notes
    • Bumps minimum in_app_purchase_android version to 0.3.0.
    • Updates minimum supported SDK version to Flutter 3.3/Dart 2.18.
    • Aligns Dart and Flutter SDK constraints.
    Open source →
  15. 3.1.5 22 Feb 2023
    Release notes
    • Updates links for the merge of flutter/plugins into flutter/packages.
    Open source →
  16. 3.1.4 17 Feb 2023
    Release notes
    • Updates iOS minimum version in README.
    Open source →
  17. 3.1.1 03 Jan 2023
    Release notes
    • Adds screenshots to pubspec.yaml.
    Open source →
  18. 3.1.0 21 Dec 2022
    Release notes
    • Adds macOS as a supported platform.
    Open source →
  19. 3.0.8 21 Oct 2022
    Release notes
    • Updates minimum Flutter version to 2.10.
    • Bumps minimum in_app_purchase_android to 0.2.3.
    Open source →
  20. 3.0.7 09 Aug 2022
    Release notes
    • Fixes avoid_redundant_argument_values lint warnings and minor typos.
    Open source →
  21. 3.0.6 14 Jun 2022
    Release notes
    • Ignores deprecation warnings for upcoming styleFrom button API changes.
    Open source →
  22. 3.0.5 06 Jun 2022
    Release notes
    • Updates references to the obsolete master branch.
    Open source →
  23. 3.0.4 11 May 2022
    Release notes
    • Minor fixes for new analysis options.
    Open source →
  24. 3.0.3 10 May 2022
    Release notes
    • Removes unnecessary imports.
    • Adds OS version support information to README.
    • Fixes library_private_types_in_public_api, sort_child_properties_last and use_key_in_widget_constructors lint warnings.
    Open source →
  25. 3.0.2 15 Mar 2022
    Release notes
    • Adds additional explanation on why it is important to complete a purchase.
    Open source →
  26. 3.0.1 02 Mar 2022
    Release notes
    • Internal code cleanup for stricter analysis options.
    Open source →
  27. 3.0.0 23 Feb 2022
    Release notes
    • BREAKING CHANGE Updates restorePurchases to emit an empty list of purchases on StoreKit when there are no purchases to restore (same as Android).
      • This change was listed in the CHANGELOG for 2.0.0, but the change was accidentally not included in 2.0.0.
    Open source →
  28. 2.0.1 11 Dec 2021
    Release notes
    • Removes the instructions on initializing the plugin since this functionality is deprecated.
    Open source →
  29. 2.0.0 01 Dec 2021
    Release notes
    • BREAKING CHANGES:

      • Adds a new PurchaseStatus named canceled. This means developers can distinguish between an error and user cancellation.
      • Updates restorePurchases to emit an empty list of purchases on StoreKit when there are no purchases to restore (same as Android).
      • Renames in_app_purchase_ios to in_app_purchase_storekit.
      • Renames InAppPurchaseIosPlatform to InAppPurchaseStoreKitPlatform.
      • Renames InAppPurchaseIosPlatformAddition to InAppPurchaseStoreKitPlatformAddition.
    • Deprecates the InAppPurchaseAndroidPlatformAddition.enablePendingPurchases() method and InAppPurchaseAndroidPlatformAddition.enablePendingPurchase property.

    • Adds support for promotional offers on the store_kit_wrappers Dart API.

    • Fixes integration tests.

    • Updates example app Android compileSdkVersion to 31.

    Open source →
  30. 1.0.9 29 Sep 2021
    Release notes
    • Handle purchases with PurchaseStatus.restored correctly in the example App.
    • Updated dependencies on in_app_purchase_android and in_app_purchase_ios to their latest versions (version 0.1.5 and 0.1.3+5 respectively).
    Open source →
  31. 1.0.8 20 Aug 2021
    Release notes
    • Fix repository link in pubspec.yaml.
    Open source →
  32. 1.0.6 23 Jun 2021
    Release notes
    • Added import flutter foundation dependency in README.md to be able to use defaultTargetPlatform.
    Open source →
  33. 1.0.5 08 Jun 2021
    Release notes
    • Add explanation for casting ProductDetails and PurchaseDetails to platform specific implementations in the readme.
    Open source →
  34. 1.0.4 03 Jun 2021
    Release notes
    • Fix Restoring previous purchases link in the README.md.
    Open source →
  35. 1.0.3 03 Jun 2021
    Release notes
    • Added a "Restore purchases" button to conform to Apple's StoreKit guidelines on restoring products;
    • Corrected an error in a example snippet displayed in the README.md.
    Open source →
  36. 1.0.2 02 Jun 2021
    Release notes
    • Fix ignoring "autoConsume" param in "InAppPurchase.instance.buyConsumable".
    Open source →
  37. 1.0.1 27 May 2021
    Release notes
    • Migrate maven repository from jcenter to mavenCentral.
    Open source →
  38. 1.0.0 19 May 2021
    Release notes
    • Stable release of in_app_purchase plugin.
    Open source →
  39. 0.6.0 13 May 2021
    Release notes

    As part of implementing federated architecture and making the interface compatible for other platforms this version contains the following breaking changes:

    • Changes to the platform agnostic interface:
      • If you used InAppPurchaseConnection.instance to access generic In App Purchase APIs, please use InAppPurchase.instance instead;
      • The InAppPurchaseConnection.purchaseUpdatedStream has been renamed to InAppPurchase.purchaseStream;
      • The InAppPurchaseConnection.queryPastPurchases method has been removed. Instead, you should use InAppPurchase.restorePurchases. This method emits each restored purchase on the InAppPurchase.purchaseStream, the PurchaseDetails object will be marked with a status of PurchaseStatus.restored;
      • The InAppPurchase.completePurchase method no longer returns an instance BillingWrapperResult class (which was Android specific). Instead it will return a completed Future if the method executed successfully, in case of errors it will complete with an InAppPurchaseException describing the error.
    • Android specific changes:
      • The Android specific InAppPurchaseConnection.consumePurchase and InAppPurchaseConnection.enablePendingPurchases methods have been removed from the platform agnostic interface and moved to the Android specific InAppPurchaseAndroidPlatformAddition class:
        • InAppPurchaseAndroidPlatformAddition.enablePendingPurchases is a static method that should be called when initializing your App. Access the method like this: InAppPurchaseAndroidPlatformAddition.enablePendingPurchases() (make sure to add the following import: import 'package:in_app_purchase_android/in_app_purchase_android.dart';);
        • To use the InAppPurchaseAndroidPlatformAddition.consumePurchase method, acquire an instance using the InAppPurchase.getPlatformAddition method. For example:
      // Acquire the InAppPurchaseAndroidPlatformAddition instance.
      InAppPurchaseAndroidPlatformAddition androidAddition = InAppPurchase.instance.getPlatformAddition<InAppPurchaseAndroidPlatformAddition>();
      // Consume an Android purchase.
      BillingResultWrapper billingResult = await androidAddition.consumePurchase(purchase);
      
    • iOS specific changes:
      • The iOS specific methods InAppPurchaseConnection.presentCodeRedemptionSheet and InAppPurchaseConnection.refreshPurchaseVerificationData methods have been removed from the platform agnostic interface and moved into the iOS specific InAppPurchaseIosPlatformAddition class. To use them acquire an instance through the InAppPurchase.getPlatformAddition method like so:
      // Acquire the InAppPurchaseIosPlatformAddition instance.
      InAppPurchaseIosPlatformAddition iosAddition = InAppPurchase.instance.getPlatformAddition<InAppPurchaseIosPlatformAddition>();
      // Present the code redemption sheet.
      await iosAddition.presentCodeRedemptionSheet();
      // Refresh purchase verification data.
      PurchaseVerificationData? verificationData = await iosAddition.refreshPurchaseVerificationData();
      
      • The store_kit_wrappers have been moved into the in_app_purchase_ios package. They are still available in the in_app_purchase plugin, but to use them it is necessary to import the correct package when using them: import 'package:in_app_purchase_ios/store_kit_wrappers.dart';;
      • Update the minimum supported Flutter version to 1.20.0.
    Open source →
  40. 0.6.0+1 18 May 2021
    Release notes
    • Added a reference to the in-app purchase codelab in the README.md.
    Open source →
  41. 0.5.2 09 Apr 2021
    Release notes
    • Added rawPrice and currencyCode to the ProductDetails model.
    Open source →
  42. 0.5.1 06 Mar 2021
    Release notes
    • [iOS] Introduce SKPaymentQueueWrapper.presentCodeRedemptionSheet
    Open source →
  43. 0.5.1+1 25 Mar 2021
    Release notes
    • Fix error message when trying to consume purchase on iOS.
    Open source →
  44. 0.5.1+2 06 Apr 2021
    Release notes
    • Update README to provide a better instruction of the plugin.
    Open source →
  45. 0.5.1+3 07 Apr 2021
    Release notes
    • Configured the iOS example App to make use of StoreKit Testing on iOS 14 and higher.
    Open source →
  46. 0.5.0 02 Mar 2021
    Release notes
    • Migrate to Google Billing Library 3.0
      • Add obfuscatedProfileId, purchaseToken in [BillingClientWrapper.launchBillingFlow].
      • Breaking Change
        • Removed developerPayload in [BillingClientWrapper.acknowledgePurchase], [BillingClientWrapper.consumeAsync], [InAppPurchaseConnection.completePurchase], [InAppPurchaseConnection.consumePurchase].
        • Removed isRewarded from [SkuDetailsWrapper].
        • [SkuDetailsWrapper.introductoryPriceCycles] now returns int instead of String.
        • Above breaking changes are inline with the breaking changes introduced in Google Play Billing 3.0 release.
        • Additional information on some the changes:
    Open source →
  47. 0.4.1 25 Feb 2021
    Release notes
    • Support InApp subscription upgrade/downgrade.
    Open source →
  48. 0.4.0 22 Feb 2021
    Release notes
    • Migrate to nullsafety.
    • Deprecate sandboxTesting, introduce simulatesAskToBuyInSandbox.
    • Breaking Change:
      • Removed callbackChannel in channels.dart, see https://github.com/flutter/flutter/issues/69225.
    Open source →
  49. 0.3.5 07 Jan 2021
    Release notes
    • [Android] Fixed: added support for the SERVICE_TIMEOUT (-3) response code.
    Open source →
  50. 0.3.5+1 08 Jan 2021
    Release notes
    • Update the example app: remove the deprecated RaisedButton and FlatButton widgets.
    Open source →
  51. 0.3.4 26 May 2020
    Release notes
    • Expose SKError code to client apps.
    Open source →
  52. 0.3.4+1 24 Jun 2020
    Release notes
    • iOS: Fix the bug that SKPaymentQueueWrapper.transactions doesn't return all transactions.
    • iOS: Fix the app crashes if InAppPurchaseConnection.instance is called in the main().
    Open source →
  53. 0.3.4+3 01 Aug 2020
    Release notes
    • Fixed typo 'manuelly' for 'manually'.
    Open source →
  54. 0.3.4+4 22 Aug 2020
    Release notes
    • Update package:e2e -> package:integration_test
    Open source →
  55. 0.3.4+5 26 Aug 2020
    Release notes
    • Added necessary README docs for getting started with Android.
    Open source →
  56. 0.3.4+6 10 Sep 2020
    Release notes
    • iOS: Fix the bug that prevent restored subscription transactions from being completed
    Open source →
  57. 0.3.4+7 11 Sep 2020
    Release notes
    • iOS: Fix typo of the simulatesAskToBuyInSandbox key.
    Open source →
  58. 0.3.4+8 12 Sep 2020
    Release notes
    • [iOS] Fixed: purchase dialog not showing always.
    • [iOS] Fixed: completing purchases could fail.
    • [iOS] Fixed: restorePurchases caused hang (call never returned).
    Open source →
  59. 0.3.4+9 23 Sep 2020
    Release notes
    • [iOS] Fixed: purchase dialog not showing always.
    • [iOS] Fixed: completing purchases could fail.
    • [iOS] Fixed: restorePurchases caused hang (call never returned).
    Open source →
  60. 0.3.4+10 29 Sep 2020
    Release notes
    • Fixed typo 'verity' for 'verify'.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive