Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Caught Couldn't find package exception when purchasing promotional offer #1040

Closed
11 tasks done
danielvestergaard opened this issue Apr 11, 2024 · 5 comments
Closed
11 tasks done
Labels
bug Something isn't working

Comments

@danielvestergaard
Copy link

‼️ Required data ‼️

Do not remove any of the steps from the template below. If a step is not applicable to your issue, please leave that step empty.

There are a lot of things that can contribute to things not working. Having a very basic understanding of your environment will help us understand your issue faster!

Environment

  • Output of flutter doctor
➜  ~ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.19.4, on macOS 14.4.1 23E224 darwin-arm64, locale en-DK)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.1)
[✓] VS Code (version 1.88.0)
[✓] Connected device (2 available)
    ! Error: Browsing on the local area network for Daniel’s 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

• No issues found!
  • Version of purchases-flutter
6.25.0
  • Testing device version e.g.: iOS 15.5, Android API 30, etc.

iOS 17.4.1, but numerous reports on other iOS versions.

  • How often the issue occurs- every one of your customers is impacted? Only in dev?

It appears only happens for users whom:

  • Have previously made a purchase.
  • Are trying to make a purchase of an Apple "Promotional Offer" type product with Purchases.purchaseDiscountProduct.
flutter: PlatformException(5, Couldn't find package, {userCancelled: false, underlyingErrorMessage: , message: Couldn't find package, code: 5}, null)
  • Steps to reproduce, with a description of expected vs. actual behavior
  1. Make a purchase of any subscription product.
  2. Cancel and/or wait for the product to expire.
  3. Attempt to purchase a promotional offer. This step fails and throws the above exception. We do not expect an exception here.

Other information (e.g. stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, etc.)

This problem does not occur on purchases_flutter version 6.6.0, but does in 6.25.0. We have downgraded the package to prevent any more revenue loss.

I was able to find this line, which appears to match the error message above. However, I'm not sure if it's related.

Describe the bug

A clear and concise description of what the bug is. The more detail you can provide the faster our team will be able to triage and resolve the issue.

Users are unable to make a purchase of a promotional offer on iOS in the latest version of the SDK.

Additional context

Add any other context about the problem here.

@danielvestergaard danielvestergaard added the bug Something isn't working label Apr 11, 2024
@RCGitBot
Copy link
Contributor

👀 We've just linked this issue to our internal tracker and notified the team. Thank you for reporting, we're checking this out!

@HaleyRevcat
Copy link

Hi, thanks for reaching out. Could you please provide our SDK's full debug logs for this? You can enable them following our guide here: https://www.revenuecat.com/docs/test-and-launch/debugging#section-debugging

@danielvestergaard
Copy link
Author

Yes. The [Purchases] prefix in log messages no longer seem to work, so this the entire output.

On version 6.25.0 (the one that fails with the error):

[ERROR:flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm(42)] Using the Impeller rendering backend.
flutter: The Dart VM service is listening on http://127.0.0.1:58523/Y6sw_agRCWk=/
DEBUG: ℹ️ Configuring SDK using RevenueCat's UserDefaults suite.
DEBUG: 👤 Identifying App User ID
DEBUG: ℹ️ Debug logging enabled
DEBUG: ℹ️ SDK Version - 4.39.1
DEBUG: ℹ️ Bundle ID - com.reflective.payments
DEBUG: ℹ️ System Version - Version 17.4.1 (Build 21E236)
DEBUG: ℹ️ Not using a simulator.
DEBUG: 👤 No initial App User ID
DEBUG: ℹ️ Purchases is configured with response verification disabled
DEBUG: ℹ️ Delegate set
DEBUG: ℹ️ Offerings cache is stale, updating from network in foreground
DEBUG: ℹ️ GetOfferingsOperation: Started
DEBUG: ℹ️ No cached Offerings, fetching from network
DEBUG: ℹ️ Network operation 'GetOfferingsOperation' found with the same cache key 'GetOfferingsOpe…'. Skipping request.
DEBUG: ℹ️ There are no requests currently running, starting request GET /v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb/offerings
DEBUG: ℹ️ API request started: GET '/v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb/offerings'
DEBUG: ℹ️ API request completed: GET '/v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb/offerings' (304)
DEBUG: ℹ️ No existing products cached, starting store products request for: ["com.reflective.payments.subscription.monthly.v1", "com.reflective.payments.subscription.yearly.v1", "com.reflective.payments.lifetime.v3", "com.reflective.payments.subscription.monthly.v2", "com.reflective.payments.subscription.yearly.v4", "com.reflective.payments.subscription.yearly.v3", "com.reflective.payments.subscription.yearly.v2", "com.reflective.payments.subscription.monthly.v3", "com.reflective.payments.lifetime.v1", "com.reflective.payments.lifetime.v2"]
DEBUG: ℹ️ Found an existing request for products: ["com.reflective.payments.lifetime.v1", "com.reflective.payments.subscription.yearly.v2", "com.reflective.payments.subscription.yearly.v1", "com.reflective.payments.subscription.yearly.v4", "com.reflective.payments.subscription.monthly.v1", "com.reflective.payments.subscription.monthly.v3", "com.reflective.payments.lifetime.v2", "com.reflective.payments.subscription.yearly.v3", "com.reflective.payments.lifetime.v3", "com.reflective.payments.subscription.monthly.v2"], appending to completion
DEBUG: ℹ️ GetOfferingsOperation: Finished
DEBUG: ℹ️ Serial request done: GET /v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb/offerings, 0 requests left in the queue
DEBUG: ℹ️ GetCustomerInfoOperation: Started
DEBUG: ℹ️ There are no requests currently running, starting request GET /v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb
DEBUG: ℹ️ API request started: GET '/v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb'
DEBUG: 😻 Store products request received response
DEBUG: 😻 Store products request finished
DEBUG: 😻 Offerings updated from network.
DEBUG: 😻 Offerings updated from network.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ API request completed: GET '/v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb' (200)
DEBUG: 😻 CustomerInfo updated from network.
DEBUG: ℹ️ GetCustomerInfoOperation: Finished
DEBUG: ℹ️ Serial request done: GET /v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb, 0 requests left in the queue
DEBUG: ℹ️ Vending Offerings from memory cache
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ Skipping products request for these products because they were already cached: ["com.reflective.payments.subscription.yearly.v4"]
DEBUG: ℹ️ Loaded receipt from url file:///private/var/mobile/Containers/Data/Application/438F5FEA-B309-4307-992D-9A948308FB28/StoreKit/sandboxReceipt
INFO: ℹ️ Parsing receipt
INFO: ℹ️ Receipt parsed successfully
DEBUG: ℹ️ PostOfferForSigningOperation: Started
DEBUG: ℹ️ There are no requests currently running, starting request POST /v1/offers
DEBUG: ℹ️ API request started: POST '/v1/offers'
Thread Performance Checker: Thread running at User-initiated quality-of-service class waiting on a thread without a QoS class specified (base priority 33). Investigate ways to avoid priority inversions
PID: 3764, TID: 1488797
Backtrace
=================================================================
3   CFNetwork                           0x0000000190b44a08 estimatedPropertyListSize + 37652
4   CFNetwork                           0x00000001909af3a8 cfnTranslateCFError + 2688
5   libdispatch.dylib                   0x00000001050627bc _dispatch_client_callout + 20
6   libdispatch.dylib                   0x000000010506434c _dispatch_once_callout + 140
7   CFNetwork                           0x00000001909af37c cfnTranslateCFError + 2644
8   CFNetwork                           0x0000000190b448c8 estimatedPropertyListSize + 37332
9   libdispatch.dylib                   0x00000001050627bc _dispatch_client_callout + 20
10  libdispatch.dylib                   0x000000010506434c _dispatch_once_callout + 140
11  CFNetwork                           0x0000000190b44790 estimatedPropertyListSize + 37020
12  CFNetwork                           0x0000000190b4481c estimatedPropertyListSize + 37160
13  libdispatch.dylib                   0x00000001050627bc _dispatch_client_callout + 20
14  libdispatch.dylib                   0x000000010506434c _dispatch_once_callout + 140
15  CFNetwork                           0x0000000190b44804 estimatedPropertyListSize + 37136
16  CFNetwork                           0x0000000190ae10a8 CFHTTPCookieStorageUnscheduleFromRunLoop + 277468
17  CFNetwork                           0x0000000190ae1038 CFHTTPCookieStorageUnscheduleFromRunLoop + 277356
18  CFNetwork                           0x000000019096f04c _CFURLCacheLoadMemoryFromDiskNow + 26196
19  CFNetwork                           0x0000000190a718b8 _CFStreamErrorFromCFError + 695792
20  CFNetwork                           0x0000000190a43334 _CFStreamErrorFromCFError + 505964
21  CFNetwork                           0x0000000190a1c10c _CFStreamErrorFromCFError + 345668
22  CFNetwork                           0x0000000190b3fc68 estimatedPropertyListSize + 17780
23  CFNetwork                           0x00000001909ec2c0 _CFStreamErrorFromCFError + 149496
24  CFNetwork                           0x00000001908fac00 _CFNetworkSetHSTSStoragePath + 35396
25  CFNetwork                           0x00000001908fa81c _CFNetworkSetHSTSStoragePath + 34400
26  CFNetwork                           0x0000000190a377cc _CFStreamErrorFromCFError + 457988
27  CFNetwork                           0x0000000190a364e4 _CFStreamErrorFromCFError + 453148
28  CFNetwork                           0x0000000190a39468 _CFStreamErrorFromCFError + 465312
29  CFNetwork                           0x0000000190b458f8 estimatedPropertyListSize + 41476
30  libdispatch.dylib                   0x0000000105060b98 _dispatch_call_block_and_release + 32
31  libdispatch.dylib                   0x00000001050627bc _dispatch_client_callout + 20
32  libdispatch.dylib                   0x000000010506a66c _dispatch_lane_serial_drain + 832
33  libdispatch.dylib                   0x000000010506b43c _dispatch_lane_invoke + 460
34  libdispatch.dylib                   0x000000010506cabc _dispatch_workloop_invoke + 2336
35  libdispatch.dylib                   0x0000000105078404 _dispatch_root_queue_drain_deferred_wlh + 328
36  libdispatch.dylib                   0x0000000105077a38 _dispatch_workloop_worker_thread + 444
37  libsystem_pthread.dylib             0x00000001eb794f20 _pthread_wqthread + 288
38  libsystem_pthread.dylib             0x00000001eb794fc0 start_wqthread + 8
DEBUG: ℹ️ API request completed: POST '/v1/offers' (200)
DEBUG: ℹ️ PostOfferForSigningOperation: Finished
DEBUG: ℹ️ Serial request done: POST /v1/offers, 0 requests left in the queue
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(5, Couldn't find package, {underlyingErrorMessage: , userCancelled: false, message: Couldn't find package, code: 5}, null)
#0      RevenueCat.purchase (package:reflective_payments/src/revenuecat/revenuecat.dart:152:7)
<asynchronous suspension>
#1      PaywallModel.purchase (package:reflective_payments/src/paywall/paywall_model.dart:155:7)
<asynchronous suspension>
#2      _PaywallState.build.<anonymous closure>.attemptPurchase (package:reflective_payments/src/paywall/paywall.dart:272:19)
<asynchronous suspension>
tcp_input [C1.1.1.1:3] flags=[R] seq=473519498, ack=0, win=0 state=LAST_ACK rcv_nxt=473519498, snd_una=1494783272
tcp_input [C1.1.1.1:3] flags=[R] seq=473519498, ack=0, win=0 state=CLOSED rcv_nxt=473519498, snd_una=1494783272
tcp_input [C1.1.1.1:3] flags=[R] seq=473519498, ack=0, win=0 state=CLOSED rcv_nxt=473519498, snd_una=1494783272

On version 6.6.0 (the one that works):

[ERROR:flutter/shell/platform/darwin/graphics/FlutterDarwinContextMetalImpeller.mm(42)] Using the Impeller rendering backend.
flutter: The Dart VM service is listening on http://127.0.0.1:59085/8ABQKRDTUqI=/
DEBUG: ℹ️ Configuring SDK using RevenueCat's UserDefaults suite.
DEBUG: 👤 Identifying App User ID
DEBUG: ℹ️ Debug logging enabled
DEBUG: ℹ️ SDK Version - 4.31.6
DEBUG: ℹ️ Bundle ID - com.reflective.payments
DEBUG: ℹ️ System Version - Version 17.4.1 (Build 21E236)
DEBUG: ℹ️ Not using a simulator.
DEBUG: 👤 No initial App User ID
DEBUG: ℹ️ Purchases is configured with response verification disabled
DEBUG: ℹ️ Delegate set
DEBUG: ℹ️ Offerings cache is stale, updating from network in foreground
DEBUG: ℹ️ GetOfferingsOperation: Started
DEBUG: ℹ️ No cached Offerings, fetching from network
DEBUG: ℹ️ Network operation 'GetOfferingsOperation' found with the same cache key 'GetOfferingsOpe…'. Skipping request.
DEBUG: ℹ️ There are no requests currently running, starting request GET /v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb/offerings
DEBUG: ℹ️ API request started: GET '/v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb/offerings'
DEBUG: ℹ️ API request completed: GET '/v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb/offerings' (304)
DEBUG: ℹ️ No existing products cached, starting store products request for: ["com.reflective.payments.subscription.monthly.v2", "com.reflective.payments.lifetime.v1", "com.reflective.payments.subscription.monthly.v1", "com.reflective.payments.subscription.monthly.v3", "com.reflective.payments.lifetime.v3", "com.reflective.payments.subscription.yearly.v3", "com.reflective.payments.subscription.yearly.v4", "com.reflective.payments.lifetime.v2", "com.reflective.payments.subscription.yearly.v1", "com.reflective.payments.subscription.yearly.v2"]
DEBUG: ℹ️ Found an existing request for products: ["com.reflective.payments.subscription.yearly.v2", "com.reflective.payments.subscription.yearly.v1", "com.reflective.payments.subscription.yearly.v3", "com.reflective.payments.subscription.yearly.v4", "com.reflective.payments.subscription.monthly.v3", "com.reflective.payments.lifetime.v3", "com.reflective.payments.subscription.monthly.v2", "com.reflective.payments.lifetime.v1", "com.reflective.payments.subscription.monthly.v1", "com.reflective.payments.lifetime.v2"], appending to completion
DEBUG: ℹ️ GetOfferingsOperation: Finished
DEBUG: ℹ️ GetCustomerInfoOperation: Started
DEBUG: ℹ️ Serial request done: GET /v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb/offerings, 0 requests left in the queue
DEBUG: ℹ️ There are no requests currently running, starting request GET /v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb
DEBUG: ℹ️ API request started: GET '/v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb'
DEBUG: ℹ️ API request completed: GET '/v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb' (304)
DEBUG: 😻 CustomerInfo updated from network.
DEBUG: ℹ️ GetCustomerInfoOperation: Finished
DEBUG: ℹ️ Serial request done: GET /v1/subscribers/$RCAnonymousID%3A2ae66320d1bd49de93522daf578fb6cb, 0 requests left in the queue
DEBUG: 😻 Store products request received response
DEBUG: 😻 Store products request finished
DEBUG: 😻 Offerings updated from network.
DEBUG: 😻 Offerings updated from network.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ Vending Offerings from memory cache
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ This StoreProduct represents an SK1 product, the type of product cannot be determined, the value will be undefined. Use `StoreProduct.productCategory` instead.
DEBUG: ℹ️ Skipping products request for these products because they were already cached: ["com.reflective.payments.subscription.yearly.v4"]
DEBUG: ℹ️ Loaded receipt from url file:///private/var/mobile/Containers/Data/Application/7FA3477D-F12A-4454-AEFC-07C5F415B383/StoreKit/sandboxReceipt
INFO: ℹ️ Parsing receipt
INFO: ℹ️ Receipt parsed successfully
DEBUG: ℹ️ PostOfferForSigningOperation: Started
DEBUG: ℹ️ There are no requests currently running, starting request POST /v1/offers
DEBUG: ℹ️ API request started: POST '/v1/offers'
Thread Performance Checker: Thread running at User-initiated quality-of-service class waiting on a thread without a QoS class specified (base priority 33). Investigate ways to avoid priority inversions
PID: 3770, TID: 1493662
Backtrace
=================================================================
3   CFNetwork                           0x0000000190b44a08 estimatedPropertyListSize + 37652
4   CFNetwork                           0x00000001909af3a8 cfnTranslateCFError + 2688
5   libdispatch.dylib                   0x00000001056be7bc _dispatch_client_callout + 20
6   libdispatch.dylib                   0x00000001056c034c _dispatch_once_callout + 140
7   CFNetwork                           0x00000001909af37c cfnTranslateCFError + 2644
8   CFNetwork                           0x0000000190b448c8 estimatedPropertyListSize + 37332
9   libdispatch.dylib                   0x00000001056be7bc _dispatch_client_callout + 20
10  libdispatch.dylib                   0x00000001056c034c _dispatch_once_callout + 140
11  CFNetwork                           0x0000000190b44790 estimatedPropertyListSize + 37020
12  CFNetwork                           0x0000000190b4481c estimatedPropertyListSize + 37160
13  libdispatch.dylib                   0x00000001056be7bc _dispatch_client_callout + 20
14  libdispatch.dylib                   0x00000001056c034c _dispatch_once_callout + 140
15  CFNetwork                           0x0000000190b44804 estimatedPropertyListSize + 37136
16  CFNetwork                           0x0000000190ae10a8 CFHTTPCookieStorageUnscheduleFromRunLoop + 277468
17  CFNetwork                           0x0000000190ae1038 CFHTTPCookieStorageUnscheduleFromRunLoop + 277356
18  CFNetwork                           0x000000019096f04c _CFURLCacheLoadMemoryFromDiskNow + 26196
19  CFNetwork                           0x0000000190a718b8 _CFStreamErrorFromCFError + 695792
20  CFNetwork                           0x0000000190a43334 _CFStreamErrorFromCFError + 505964
21  CFNetwork                           0x0000000190a1c10c _CFStreamErrorFromCFError + 345668
22  CFNetwork                           0x0000000190b3fc68 estimatedPropertyListSize + 17780
23  CFNetwork                           0x00000001909ec2c0 _CFStreamErrorFromCFError + 149496
24  CFNetwork                           0x00000001908fac00 _CFNetworkSetHSTSStoragePath + 35396
25  CFNetwork                           0x00000001908fa81c _CFNetworkSetHSTSStoragePath + 34400
26  CFNetwork                           0x0000000190a377cc _CFStreamErrorFromCFError + 457988
27  CFNetwork                           0x0000000190a364e4 _CFStreamErrorFromCFError + 453148
28  CFNetwork                           0x0000000190a39468 _CFStreamErrorFromCFError + 465312
29  CFNetwork                           0x0000000190b458f8 estimatedPropertyListSize + 41476
30  libdispatch.dylib                   0x00000001056bcb98 _dispatch_call_block_and_release + 32
31  libdispatch.dylib                   0x00000001056be7bc _dispatch_client_callout + 20
32  libdispatch.dylib                   0x00000001056c666c _dispatch_lane_serial_drain + 832
33  libdispatch.dylib                   0x00000001056c743c _dispatch_lane_invoke + 460
34  libdispatch.dylib                   0x00000001056c8abc _dispatch_workloop_invoke + 2336
35  libdispatch.dylib                   0x00000001056d4404 _dispatch_root_queue_drain_deferred_wlh + 328
36  libdispatch.dylib                   0x00000001056d3a38 _dispatch_workloop_worker_thread + 444
37  libsystem_pthread.dylib             0x00000001eb794f20 _pthread_wqthread + 288
38  libsystem_pthread.dylib             0x00000001eb794fc0 start_wqthread + 8
DEBUG: ℹ️ API request completed: POST '/v1/offers' (200)
DEBUG: ℹ️ PostOfferForSigningOperation: Finished
DEBUG: ℹ️ Serial request done: POST /v1/offers, 0 requests left in the queue
DEBUG: ℹ️ Vending Offerings from memory cache
INFO: 💰 Purchasing Product 'com.reflective.payments.subscription.yearly.v4' from package in Offering 'annual_promo_offer' with Offer 'com.reflective.payments.promo.yearly.75off'
DEBUG: ℹ️ Adding payment for product 'com.reflective.payments.subscription.yearly.v4'. 0 transactions already in the queue.
DEBUG: ℹ️ StoreKit1Wrapper (0x0000000302f4a940) updatedTransaction: com.reflective.payments.subscription.yearly.v4 0

@trond-eskeland
Copy link

I've the same problem in react-native-purchases version 7.27.1. However works fine in version 6.6.5.

tonidero added a commit that referenced this issue May 22, 2024
`purchaseDiscountedPackage` is broken, we were passing the wrong
parameters to the `purchasePackage` method. This should fix the issue
and deal with
#1040
@danielvestergaard
Copy link
Author

Appears to be fixed by #1080 and released in v6.29.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants