NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #614 most downloaded on pub.dev
An implementation for the iOS and macOS platforms of the Flutter `in_app_purchase` plugin. This uses the StoreKit Framework.
Last release 28 days ago
10 Sep 2026
Release timing varies
gaps range from 2 weeks to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
82 releases · first in 2021
[in_app_purchase_storekit] Expose expiration date directly for subscr…
[in_app_purchase_storekit] Expose expiration date directly for subscr…
[in_app_purchase] Support StoreKit 2 introductory offer eligibility J…
[in_app_purchase] Support StoreKit 2 introductory offer eligibility J…
Sk2PurchaseParam.introductoryOfferEligibilityCompactJWS,
which is forwarded to StoreKit 2 as
Product.PurchaseOption.introductoryOfferEligibility(compactJWS:).One column per quarter.
Updates pigeon dev_dependency to ^27.3.2 for analyzer 14 compatibility.
Fixes StoreKit 2 date format does not match in_app_purchase_platform_interface PurchaseDetails.transactionDate format. Fixes both SK2Transaction.purch
SK2Transaction.purchaseDate and SK2Transaction.expirationDate.[in_app_purchase_storekit] Group purchases into a single event in sto…
[in_app_purchase_storekit] Group purchases into a single event in sto…
Clarifies completePurchase usage and the consequences of unfinished transactions in the README and API docstrings.
completePurchase usage and the consequences of unfinished transactions in the README and API docstrings.storekit_duplicate_product_object error when a product already has an unfinished transaction.Fixes SK2Transaction to expose the real purchased quantity instead of defaulting to 1.
Add support for offer codes in StoreKit 2.
Fixes an issue causing StoreKit2 purchases to be reported as restored and left in an unfinished state, due to pendingCompletePurchase being false.
restored and left in an
unfinished state, due to pendingCompletePurchase being false.Fixes StoreKit 2 purchase flow to send cancelled/pending/unverified results to purchaseStream.
purchaseStream.Adds SK2Transaction.unfinishedTransactions() method to query only unfinished transactions.
SK2Transaction.unfinishedTransactions() method to query only unfinished transactions.appAccountToken property in SK2PurchaseDetails for user identification.Adds a new case .unverified to enum SK2ProductPurchaseResult
.unverified to enum SK2ProductPurchaseResultPlatformExceptions instead of returning the corresponding
SK2ProductPurchaseResult when a purchase is cancelled / unverified / pending.Refactors internals for improved testability.
* Updates to Pigeon 26.
Makes SKError.userInfo key non-nullable to comply with json serialization requirements.
SKError.userInfo key non-nullable to comply with json serialization requirements.Added support for specifying quantity in SK2ProductPurchaseOptions (consumable purchases on iOS).
SK2ProductPurchaseOptions (consumable purchases on iOS).Removes code for versions of iOS older than 13.0.
Adds Introductory Offer Eligibility support for StoreKit2
Add jwsRepresentation to SK2PurchaseDetails as serverVerificationData for secure server-side purchase verification. Use this JSON Web Signature (JWS)
SK2PurchaseDetails as serverVerificationData for secure server-side purchase verification. Use this JSON Web Signature (JWS) value to perform your own JWS verification on your server.SK2PurchaseDetails as localVerificationData for local transaction debugging and verification.Updates minimum supported SDK version to Flutter 3.27/Dart 3.6.
isWinBackOfferEligible function for eligibility verificationappAccountToken handling for StoreKit2 purchasesBREAKING CHANGE: StoreKit 2 is now the default for all devices that support it.
enableStoreKit1* Adds sync() and countryCode().
sync() and countryCode().Fix a channel thread-safety issue when StoreKit2 is enabled.
Adds Swift Package Manager compatibility.
Fixes manual invocation of finishTransaction causing a fatal crash.
finishTransaction causing a fatal crash.Prevent devices below iOS 15 or macOS 15 from enabling StoreKit2.
Fixes price not being displayed correctly.
Fixes finishTransaction not completing.
finishTransaction not completing.Exposes jsonRepresentation field for transactions.
jsonRepresentation field for transactions.Adds StoreKit2 Transaction expiration date.
Removes unneeded platform availability annotations.
Adds support for StoreKit2's canMakePayments and products
canMakePayments and productsAdds support for StoreKit2's purchase and transactions
purchase and transactionsUpdates Pigeon for non-nullable collection type support.
Adds StoreKit 2 support for restoring purchases.
Updates README to remove contributor-focused documentation.
* Removes OCMock from tests.
Converts main plugin tests to swift.
Converts FIAPPaymentQueueDeleteTests to swift.
Converts TranslatorTests to swift.
Converts main plugin class to Swift.
Replaces getCountryCode with countryCode.
getCountryCode with countryCode.* Adds countryCode API.
countryCode API.Added new native tests for more complete test coverage.
Handle translation of errors nested in dictionaries.
Converts refreshReceipt(), startObservingPaymentQueue(), stopObservingPaymentQueue(), registerPaymentQueueDelegate(), removePaymentQueueDelegate(), sh
refreshReceipt(), startObservingPaymentQueue(), stopObservingPaymentQueue(),
registerPaymentQueueDelegate(), removePaymentQueueDelegate(), showPriceConsentIfNeeded() to pigeon.Fixes type of error code returned from native code in SKReceiptManager.retrieveReceiptData.
Fixes SKError.userInfo not being nullable.
Converts startProductRequest(), finishTransaction(), restoreTransactions(), presentCodeRedemptionSheet() to pigeon.
startProductRequest(), finishTransaction(), restoreTransactions(), presentCodeRedemptionSheet() to pigeon.Converts storefront(), transactions(), addPayment(), canMakePayment to pigeon.
storefront(), transactions(), addPayment(), canMakePayment to pigeon.Updates minimum supported SDK version to Flutter 3.10/Dart 3.0.
* Adds privacy manifest.
Adds Future storefront() in SKPaymentQueueWrapper class.
Future<SKStorefrontWrapper?> storefront() in SKPaymentQueueWrapper class.Updates minimum Flutter version to 3.3 and iOS 11.
Updates links for the merge of flutter/plugins into flutter/packages.
Clarifies explanation of endorsement in README.
Adds a null check, to prevent a new diagnostic.
Removes obsolete null checks on non-nullable values.
Migrates styleFrom usage in examples off of deprecated primary and onPrimary parameters.
styleFrom usage in examples off of deprecated primary and onPrimary parameters.Adds pub topics to package metadata.
Your coding agent can read these notes before it upgrades. Set up the MCP server →