FB: https://feedbackassistant.apple.com/feedback/22556883
We're seeing a small number of production users where both Transaction.currentEntitlements and Transaction.all return zero transactions for a valid, active, non-refunded non-consumable IAP. This makes it impossible to restore the purchase via any StoreKit 2 API.
Environment:
- Xcode 26.4 (Build 17E192)
- iOS 26.4.1
- Direct call to SK2 Transactions.all & Flutter
in_app_purchasepackage v3.2.3 (uses SK2 on iOS 15+) - Non-consumable IAP (one-time purchase)
What we observe:
AppStore.sync()triggers but the purchase stream returns 0 transactionsTransaction.allreturns emptyTransaction.currentEntitlementsalso returns empty- User is confirmed on the correct Apple ID
- Issue reproduces on both iPhone and Mac for the same Apple ID
- Issue appears to have started recently for users who previously had no problems
Debug log from affected production user:
[2026-04-20T08:50:10.744115Z] init: iapAvailable=true
[2026-04-20T08:50:10.744566Z] init: isPremium=false
[2026-04-20T08:50:10.744567Z] init: triggering silent restorePurchases
[2026-04-20T08:50:45.974566Z] restore: started
[2026-04-20T08:50:45.986848Z] restore: sk2Transactions count=0
[2026-04-20T08:50:45.993004Z] restore: sk2Direct isVerified=false active=null
[2026-04-20T08:50:45.993011Z] restore: sk2Direct inconclusive — falling back to standard restore
[2026-04-20T08:51:16.000851Z] restore: timed out after 30s — fallback isPremium=false
[2026-04-20T08:51:16.000910Z] restore: completed — succeeded=false foundPurchase=false
Unable to reproduce in sandbox — Transaction.all works correctly there. Appears specific to production for a small subset of users.
Has anyone else seen this?