From b6a6a77498b33367ff610e2b91fb95271fecc249 Mon Sep 17 00:00:00 2001 From: louisehsu Date: Tue, 19 Nov 2024 14:04:15 -0800 Subject: [PATCH 1/2] fix price precision --- .../in_app_purchase_storekit/CHANGELOG.md | 4 +++ .../src/types/app_store_product_details.dart | 2 +- .../in_app_purchase_storekit/pubspec.yaml | 2 +- .../pigeon_converter_test.dart | 25 ++++++++++++++++++- 4 files changed, 30 insertions(+), 3 deletions(-) diff --git a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md index 3d4cc8d98378..6c3c684cf447 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md +++ b/packages/in_app_purchase/in_app_purchase_storekit/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.3.20+2 + +* Fixes price not being displayed correctly. +* ## 0.3.20 * Fixes manual invocation of `finishTransaction` causing a fatal crash. diff --git a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_product_details.dart b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_product_details.dart index f0ab7257b375..6e1a38f16610 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_product_details.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/lib/src/types/app_store_product_details.dart @@ -66,7 +66,7 @@ class AppStoreProduct2Details extends ProductDetails { id: product.id, title: product.displayName, description: product.description, - price: product.priceLocale.currencySymbol + product.price.toString(), + price: product.displayPrice, rawPrice: product.price, currencyCode: product.priceLocale.currencyCode, currencySymbol: product.priceLocale.currencySymbol, diff --git a/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml b/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml index aa3c1d7b3e64..e7ecbc0ebc1b 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml +++ b/packages/in_app_purchase/in_app_purchase_storekit/pubspec.yaml @@ -2,7 +2,7 @@ name: in_app_purchase_storekit description: An implementation for the iOS and macOS platforms of the Flutter `in_app_purchase` plugin. This uses the StoreKit Framework. repository: https://github.com/flutter/packages/tree/main/packages/in_app_purchase/in_app_purchase_storekit issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+in_app_purchase%22 -version: 0.3.20 +version: 0.3.20+2 environment: sdk: ^3.3.0 diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart index 3bdbd0af6124..b62772b840ca 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart @@ -1,9 +1,10 @@ // Copyright 2013 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. - import 'package:flutter_test/flutter_test.dart'; +import 'package:in_app_purchase_storekit/in_app_purchase_storekit.dart'; import 'package:in_app_purchase_storekit/src/messages.g.dart'; +import 'package:in_app_purchase_storekit/src/store_kit_2_wrappers/sk2_product_wrapper.dart'; import 'package:in_app_purchase_storekit/store_kit_wrappers.dart'; void main() { @@ -104,4 +105,26 @@ void main() { expect(wrapper.domain, 'domain'); expect(wrapper.userInfo, {}); }); + + test('test AppStoreProduct2Details conversion', () { + final SK2Product product = SK2Product( + id: '123', + displayName: 'name', + displayPrice: '0.99', + description: 'description', + price: 9.99, + type: SK2ProductType.consumable, + priceLocale: SK2PriceLocale( + currencyCode: 'USD', + currencySymbol: r'$') + ); + + final AppStoreProduct2Details details = AppStoreProduct2Details.fromSK2Product(product); + + expect(details.sk2Product, product); + expect(details.price, product.displayPrice); + expect(details.id, product.id); + expect(details.description, product.description); + expect(details.currencySymbol, product.priceLocale.currencySymbol); + }); } From a98c5424280372148fba4010c42d796507958164 Mon Sep 17 00:00:00 2001 From: louisehsu Date: Wed, 20 Nov 2024 12:13:32 -0800 Subject: [PATCH 2/2] . --- .../test/store_kit_wrappers/pigeon_converter_test.dart | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart index b62772b840ca..5cbdd2f9719c 100644 --- a/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart +++ b/packages/in_app_purchase/in_app_purchase_storekit/test/store_kit_wrappers/pigeon_converter_test.dart @@ -114,12 +114,10 @@ void main() { description: 'description', price: 9.99, type: SK2ProductType.consumable, - priceLocale: SK2PriceLocale( - currencyCode: 'USD', - currencySymbol: r'$') - ); + priceLocale: SK2PriceLocale(currencyCode: 'USD', currencySymbol: r'$')); - final AppStoreProduct2Details details = AppStoreProduct2Details.fromSK2Product(product); + final AppStoreProduct2Details details = + AppStoreProduct2Details.fromSK2Product(product); expect(details.sk2Product, product); expect(details.price, product.displayPrice);