RevenueCat / purchases-flutter

Flutter plugin for in-app purchases and subscriptions. Supports iOS, macOS and Android.
https://www.revenuecat.com/
MIT License
607 stars 168 forks source link

Price different between Apple Connect and RevenueCat when fetching Offerings #335

Closed mayouf closed 2 years ago

mayouf commented 2 years ago

Flutter Doctor

``` [✓] Flutter (Channel stable, 2.10.2, on macOS 12.2.1 21D62 darwin-x64, locale en-FR) • Flutter version 2.10.2 at /Users/bob/development/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 097d3313d8 (2 weeks ago), 2022-02-18 19:33:08 -0600 • Engine revision a83ed0e5e3 • Dart version 2.16.1 • DevTools version 2.9.2 [✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3) • Android SDK at /Users/bob/Library/Android/sdk • Platform android-32, build-tools 30.0.3 • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822) • All Android licenses accepted. [✓] Xcode - develop for iOS and macOS (Xcode 13.2.1) • Xcode at /Applications/Xcode.app/Contents/Developer • CocoaPods version 1.11.2 [✓] Chrome - develop for the web • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome [✓] Android Studio (version 2021.1) • Android Studio at /Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.11+0-b60-7590822) [✓] Android Studio (version 2020.3) • Android Studio at /Users/bob/drive/Documents/Existing files/Macintosh HD - Data/Applications/Android Studio.app/Contents • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165) [✓] Connected device (3 available) • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64 • Android 12 (API 31) (emulator) • iPhone (mobile) • b87fd250961f3fd9 • ios • iOS 14.6 18F72 • Chrome (web) • chrome • web-javascript • Google Chrome 98.0.4758.109 [✓] HTTP Host Availability • All required HTTP hosts are available • No issues found! Process finished with exit code 0 ```

Current situation

My app is currently on IOS and Android. The IAP work correctly.

I use to purchase by requesting the product identifier (see below): await Purchases.purchaseProduct(<product identifier>, type: PurchaseType.inapp);

Problem with new situation

Now, I have several offering with multiple packages in RevenueCat. So, I need to fetch the offering from RevenueCat when the app starts:

Offerings offerings = await Purchases.getOfferings();

Look at the Response, there is an error on the price shown by RevenueCat: image

I end up with a different price sent by RevenueCat for the same product identifier :

WHERE RESULT price shown
Apple Connect correct 2.99 EUR (Tier 3)
Smartphone in Production correct 2.99 EUR
Response from RevenueCat ERROR 3.49 EUR

I checked Apple Connect, the price is correct (see below) : image

I checked the purchase on Production smartphone, the price is correct (see below) :

The error is only on RevenueCat when I fetch the offering. image

Is someone know the issue ?

aboedo commented 2 years ago

🤔 The SDK bridges over the price directly from Apple, with no further processing, so the price should always match the price that Apple's using. As for the difference, ideas for things that would explain it:

vegaro commented 2 years ago

Closing due to inactivity