0.3.0+3
- Fix pendingCompletePurchase flag status to allow to complete the pruchsase.
0.3.0+2
- Update te example app to avoid using deprecated api.
0.3.0+1
- Fixing usage example. No functional changes.
0.3.0
- Migrate the
Google Play Library
to 2.0.3.- Introduce a new class
BillingResultWrapper
which contains a detailed result of a BillingClient operation.- [Breaking Change]: All the BillingClient methods that previously return a
BillingResponse
now return a BillingResultWrapper
, including: launchBillingFlow
, startConnection
and consumeAsync
. - [Breaking Change]: The
SkuDetailsResponseWrapper
now contains a billingResult
field in place of billingResponse
field. - A
billingResult
field is added to the PurchasesResultWrapper
.
- Other Updates to the “billing_client_wrappers”:
- Updates to the
PurchaseWrapper
: Add developerPayload
, purchaseState
and isAcknowledged
fields. - Updates to the
SkuDetailsWrapper
: Add originalPrice
and originalPriceAmountMicros
fields. - [Breaking Change]: The
BillingClient.queryPurchaseHistory
is updated to return a PurchasesHistoryResult
, which contains a list of PurchaseHistoryRecordWrapper
instead of PurchaseWrapper
. A PurchaseHistoryRecordWrapper
object has the same fields and values as A PurchaseWrapper
object, except that a PurchaseHistoryRecordWrapper
object does not contain isAutoRenewing
, orderId
and packageName
. - Add a new
BillingClient.acknowledgePurchase
API. Starting from this version, the developer has to acknowledge any purchase on Android using this API within 3 days of purchase, or the user will be refunded. Note that if a product is “consumed” via BillingClient.consumeAsync
, it is implicitly acknowledged. - [Breaking Change]: Added
enablePendingPurchases
in BillingClientWrapper
. The application has to call this method before calling BillingClientWrapper.startConnection
. See enablePendingPurchases for more information.
- Updates to the “InAppPurchaseConnection”:
- [Breaking Change]:
InAppPurchaseConnection.completePurchase
now returns a Future<BillingResultWrapper>
instead of Future<void>
. A new optional parameter {String developerPayload}
has also been added to the API. On Android, this API does not throw an exception anymore, it instead acknowledge the purchase. If a purchase is not completed within 3 days on Android, the user will be refunded. - [Breaking Change]:
InAppPurchaseConnection.consumePurchase
now returns a Future<BillingResultWrapper>
instead of Future<BillingResponse>
. A new optional parameter {String developerPayload}
has also been added to the API. - A new boolean field
pendingCompletePurchase
has been added to the PurchaseDetails
class. Which can be used as an indicator of whether to call InAppPurchaseConnection.completePurchase
on the purchase. - [Breaking Change]: Added
enablePendingPurchases
in InAppPurchaseConnection
. The application has to call this method when initializing the InAppPurchaseConnection
on Android. See enablePendingPurchases for more information.
- Misc: Some documentation updates reflecting the
BillingClient
migration and some documentation fixes. - Refer to Google Play Billing Library Release Note for a detailed information on the update.
0.2.2+6
0.2.2+5
- Update version of json_annotation to ^3.0.0 and json_serializable to ^3.2.0. Resolve conflicts with other packages e.g. flutter_tools from sdk.
0.2.2+4
- Remove the deprecated
author:
field from pubspec.yaml - Migrate the plugin to the pubspec platforms manifest.
- Require Flutter SDK 1.10.0 or greater.
0.2.2+3
- Fix failing pedantic lints. None of these fixes should have any change in functionality.
0.2.2+2
- Include lifecycle dependency as a compileOnly one on Android to resolve potential version conflicts with other transitive libraries.
0.2.2+1
- Android: Use android.arch.lifecycle instead of androidx.lifecycle:lifecycle in
build.gradle
to support apps that has not been migrated to AndroidX.
0.2.2
- Support the v2 Android embedder.
- Update to AndroidX.
- Migrate to using the new e2e test binding.
- Add a e2e test.
0.2.1+5
- Define clang module for iOS.
- Fix iOS build warning.
0.2.1+4
- Update and migrate iOS example project.
0.2.1+3
- Android : Improved testability.
0.2.1+2
- Android: Require a non-null Activity to use the
launchBillingFlow
method.
0.2.1+1
- Remove skipped driver test.
0.2.1
- iOS: Add currencyCode to priceLocale on productDetails.
0.2.0+8
- Add dependency on
androidx.annotation:annotation:1.0.0
.
0.2.0+7
- Make Gradle version compatible with the Android Gradle plugin version.
0.2.0+6
- Add missing
hashCode
implementations.
0.2.0+5
- iOS: Support unsupported UserInfo value types on NSError.
0.2.0+4
- Fixed code error in
README.md
and adjusted links to work on Pub.
0.2.0+3
- Update the
README.md
so that the code samples compile with the latest Flutter/Dart version.
0.2.0+2
- Fix a google_play_connection purchase update listener regression introduced in 0.2.0+1.
0.2.0+1
- Fix an issue the type is not casted before passing to
PurchasesResultWrapper.fromJson
.
0.2.0
- [Breaking Change] Rename ‘PurchaseError’ to ‘IAPError’.
- [Breaking Change] Rename ‘PurchaseSource’ to ‘IAPSource’.
0.1.1+3
- Expanded description in
pubspec.yaml
and fixed typo in README.md
.
0.1.1+2
- Add missing template type parameter to
invokeMethod
calls. - Bump minimum Flutter version to 1.5.0.
- Replace invokeMethod with invokeMapMethod wherever necessary.
0.1.1+1
- Make
AdditionalSteps
(Used in the unit test) a void function.
0.1.1
- Some error messages from iOS are slightly changed.
ProductDetailsResponse
returned by queryProductDetails()
now contains an PurchaseError
object that represents any error that might occurred during the request.- If the device is not connected to the internet,
queryPastPurchases()
on iOS now have the error stored in the response instead of throwing. - Clean up minor iOS warning.
- Example app shows how to handle error when calling
queryProductDetails()
and queryProductDetails()
.
0.1.0+4
- Change the
buy
methods to return Future<bool>
instead of void
in order to propagate launchBillingFlow
failures up through google_play_connection
.
0.1.0+3
- Guard against multiple onSetupFinished() calls.
0.1.0+2
- Fix bug where error only purchases updates weren't propagated correctly in
google_play_connection.dart
.
0.1.0+1
- Add more consumable handling to the example app.
0.1.0
Beta release.
- Ability to list products, load previous purchases, and make purchases.
- Simplified Dart API that's been unified for ease of use.
- Platform specific APIs more directly exposing
StoreKit
and BillingClient
.
Includes:
- 5ba657dc [in_app_purchase] Remove extraneous download logic (#1560)
- 01bb8796 [in_app_purchase] Minor doc updates (#1555)
- 1a4d493f [in_app_purchase] Only fetch owned purchases (#1540)
- d63c51cf [in_app_purchase] Add auto-consume errors to PurchaseDetails (#1537)
- 959da97f [in_app_purchase] Minor doc updates (#1536)
- b82ae1a6 [in_app_purchase] Rename the unified API (#1517)
- d1ad723a [in_app_purchase]remove SKDownloadWrapper and related code. (#1474)
- 7c1e8b8a [in_app_purchase]make payment unified APIs (#1421)
- 80233db6 [in_app_purchase] Add references to the original object for PurchaseDetails and ProductDetails (#1448)
- 8c180f0d [in_app_purchase]load purchase (#1380)
- e9f141bc [in_app_purchase] Iap refactor (#1381)
- d3b3d60c add driver test command to cirrus (#1342)
- aee12523 [in_app_purchase] refactoring and tests (#1322)
- 6d7b4592 [in_app_purchase] Adds Dart BillingClient APIs for loading purchases (#1286)
- 5567a9c8 [in_app_purchase]retrieve receipt (#1303)
- 3475f1b7 [in_app_purchase]restore purchases (#1299)
- a533148d [in_app_purchase] payment queue dart ios (#1249)
- 10030840 [in_app_purchase] Minor bugfixes and code cleanup (#1284)
- 347f508d [in_app_purchase] Fix CI formatting errors. (#1281)
- fad02d87 [in_app_purchase] Java API for querying purchases (#1259)
- bc501915 [In_app_purchase]SKProduct related fixes (#1252)
- f92ba3a1 IAP make payment objc (#1231)
- 62b82522 [IAP] Add the Dart API for launchBillingFlow (#1232)
- b40a4acf [IAP] Add Java call for launchBillingFlow (#1230)
- 4ff06cd1 [In_app_purchase]remove categories (#1222)
- 0e72ca56 [In_app_purchase]fix requesthandler crash (#1199)
- 81dff2be Iap getproductlist basic draft (#1169)
- db139b28 Iap iOS add payment dart wrappers (#1178)
- 2e5fbb9b Fix the param map passed down to the platform channel when calling querySkuDetails (#1194)
- 4a84bac1 Mark some packages as unpublishable (#1193)
- 51696552 Add a gradle warning to the AndroidX plugins (#1138)
- 832ab832 Iap add payment objc translators (#1172)
- d0e615cf Revert “IAP add payment translators in objc (#1126)” (#1171)
- 09a5a36e IAP add payment translators in objc (#1126)
- a100fbf9 Expose nslocale and expose currencySymbol instead of currencyCode to match android (#1162)
- 1c982efd Using json serializer for skproduct wrapper and related classes (#1147)
- 3039a261 Iap productlist ios (#1068)
- 2a1593da [IAP] Update dev deps to match flutter_driver (#1118)
- 9f87cbe5 [IAP] Update README (#1112)
- 59e84d85 Migrate independent plugins to AndroidX (#1103)
- a027ccd6 [IAP] Generate boilerplate serializers (#1090)
- 909cf1c2 [IAP] Fetch SkuDetails from Google Play (#1084)
- 6bbaa7e5 [IAP] Add missing license headers (#1083)
- 5347e877 [IAP] Clean up Dart unit tests (#1082)
- fe03e407 [IAP] Check if the payment processor is available (#1057)
- 43ee28cf Fix
Manifest versionCode not found
(#1076) - 4d702ad7 Supress
strong_mode_implicit_dynamic_method
for invokeMethod
calls. (#1065) - 809ccde7 Doc and build script updates to the IAP plugin (#1024)
- 052b71a9 Update the IAP README (#933)
- 54f9c4e2 Upgrade Android Gradle Plugin to 3.2.1 (#916)
- ced3e99d Set all gradle-wrapper versions to 4.10.2 (#915)
- eaa1388b Reconfigure Cirrus to use clang 7 (#905)
- 9b153920 Update gradle dependencies. (#881)
- 1aef7d92 Enable lint unnecessary_new (#701)
0.0.2
- Added missing flutter_test package dependency.
- Added missing flutter version requirements.
0.0.1