Skip to content

[in_app_purchase] serverVerificationData is empty on some iOS devices. #169335

Closed
@tony-soft

Description

@tony-soft

Steps to reproduce

I'm using Flutter version 3.29.3 and in_app_purchase package 3.2.3.

  1. Listen to InAppPurchase.instance.purchaseStream.
  2. Purchase a subscription product.
  3. In the event handler you listen to, get the verificationData.serverVerificationData of the PurchaseDetails data.

Expected results

PurchaseDetails.verificationData.serverVerificationData value must not be empty.

Actual results

For most users, it worked normally without any problems.
For some users, the PurchaseDetails.verificationData.serverVerificationData value was empty. In this case, the purchase was actually made, so it was possible to restore the purchase, but the serverVerificationData value was still empty even after the purchase was restored.

This issue occurred in the in_app_purchase package 3.2.3.
I used version 3.2.1 before and there was no such issue at that time.
After using version 3.2.3, I received reports of this situation from some users, and after downgrading to in_app_purchase version 3.2.1 and uploading the app, the users who had the issue were able to receive the purchase data normally.

Code sample

Code sample
[Paste your code here]

Screenshots or Video

Screenshots / Video demonstration

[Upload media here]

Logs

Logs
[Paste your logs here]

Flutter Doctor output

Doctor output
[✓] Flutter (Channel stable, 3.29.3, on macOS 15.5 24F74 darwin-arm64 (Rosetta), locale ko-KR) [690ms]
    • Flutter version 3.29.3 on channel stable at /Users/dongsoo/fvm/versions/3.29.3
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ea121f8859 (6 weeks ago), 2025-04-11 19:10:07 +0000
    • Engine revision cf56914b32
    • Dart version 3.7.2
    • DevTools version 2.42.3

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1) [2.5s]
    • Android SDK at /Users/dongsoo/Library/Android/sdk
    • Platform android-35, build-tools 33.0.1
    • ANDROID_HOME = /Users/dongsoo/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
      This is the JDK bundled with the latest Android Studio installation on this machine.
      To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11609105)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 16.3) [1,947ms]
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16E140
    ! CocoaPods 1.15.2 out of date (1.16.2 is recommended).
        CocoaPods is a package manager for iOS or macOS platform code.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/to/platform-plugins
      To update CocoaPods, see https://guides.cocoapods.org/using/getting-started.html#updating-cocoapods

[✓] Chrome - develop for the web [9ms]
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.1) [8ms]
    • 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 17.0.10+0-17.0.10b1087.21-11609105)

[✓] VS Code (version 1.98.2) [7ms]
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension can be installed from:
      🔨 https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter

[✓] Connected device (7 available) [6.6s]
    • SM G981N (mobile)                       • R3CN407NC4L               • android-arm64  • Android 13 (API 33)
    • Tony의 iPad (wireless) (mobile)          • 00008110-00015C300E62401E • ios            • iOS 18.4.1 22E252
    • Tony의 iPhone 15 pro (wireless) (mobile) • 00008130-00016D893608001C • ios            • iOS 18.5 22F76
    • 유미진의 iPhone (wireless) (mobile)         • 00008120-0016795A3C33401E • ios            • iOS 18.5 22F76
    • macOS (desktop)                         • macos                     • darwin-arm64   • macOS 15.5 24F74 darwin-arm64 (Rosetta)
    • Mac Designed for iPad (desktop)         • mac-designed-for-ipad     • darwin         • macOS 15.5 24F74 darwin-arm64 (Rosetta)
    • Chrome (web)                            • chrome                    • web-javascript • Google Chrome 136.0.7103.114
    ! Error: Browsing on the local area network for iPhone. Ensure the device is unlocked and attached with a cable or associated with the same local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources [1,322ms]
    • All expected network resources are available.

! Doctor found issues in 1 category.

Metadata

Metadata

Assignees

No one assigned

    Labels

    p: in_app_purchasePlugin for in-app purchasepackageflutter/packages repository. See also p: labels.platform-iosiOS applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-iosOwned by iOS platform teamwaiting for customer responseThe Flutter team cannot make further progress on this issue until the original reporter respondsworkaround availableThere is a workaround available to overcome the issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions