Hello, I am investigating an intermittent In-App Purchase failure that occurred during App Review for the first release of my app.
Environment
- Review device: iPad Air 11-inch (M3)
- OS: iPadOS 26.6
- Environment: App Review sandbox
- Product type: Consumable
- StoreKit integration: RevenueCat through react-native-purchases 10.4.3
Observed behavior
StoreKit successfully returned the products, localized names, and prices. The reviewer could see the credit packs and initiate the native purchase flow.
My diagnostics show this sequence:
Purchase initiated
PURCHASE_CANCELLED; no transaction evidence
Purchase initiated again
RevenueCat code 2: STORE_PROBLEM
elapsed: 9.4 seconds
no transaction evidence
Purchase initiated again
RevenueCat code 5:
PRODUCT_NOT_AVAILABLE_FOR_PURCHASE
no transaction evidence
Purchase initiated again
RevenueCat code 5:
PRODUCT_NOT_AVAILABLE_FOR_PURCHASE
elapsed: 0.6 seconds
no transaction evidence
code-block
The relevant sanitized logs are:
{
"occurredAt": "2026-08-25T12:52:59.733Z",
"platform": "ios",
"appVersion": "1.0.0",
"build": "14",
"productId": "HIDDEN_FOR_DISPLAY",
"stage": "STORE_CHECKOUT",
"providerCode": "2",
"providerReadableCode": "STORE_PROBLEM",
"transactionEvidence": false,
"elapsedMs": 9417
}
code-block
{
"occurredAt": "2026-08-25T12:55:42.752Z",
"platform": "ios",
"appVersion": "1.0.0",
"build": "14",
"productId": "HIDDEN_FOR_DISPLAY",
"stage": "STORE_CHECKOUT",
"providerCode": "5",
"providerReadableCode": "PRODUCT_NOT_AVAILABLE_FOR_PURCHASE",
"transactionEvidence": false,
"elapsedMs": 637
}
code-block
No App Store transaction was created, and therefore RevenueCat received no transaction or webhook for these attempts.
Configuration verified I confirmed that:
- The affected product and the other consumable products are attached to the App Review submission.
- Product IDs match between the app, App Store Connect, and RevenueCat.
- Prices and localizations are configured.
- The products are available in the relevant storefronts.
- The Paid Apps Agreement is active.
- Banking and tax information are active.
- The In-App Purchase capability is present.
- The distribution build does not use a local StoreKit configuration file.
- The same build and affected product completed successfully afterward on a physical device using Apple Sandbox.
- The native purchase sheet opened, the transaction completed, and the consumable content was delivered successfully in my reproduction.
The product metadata clearly remained available because its localized name and price were displayed. However, after the initial STORE_PROBLEM, subsequent purchase requests were rejected almost immediately as PRODUCT_NOT_AVAILABLE_FOR_PURCHASE. I do not have the underlying Apple NSError, such as an ASDServerErrorDomain or AMSErrorDomain value, because it was not exposed in my remote diagnostic record.
Questions
- Can a failed sandbox transaction leave the StoreKit account/session or commerce-catalog state temporarily inconsistent, causing subsequent requests for an otherwise loaded product to return storeProductNotAvailable?
- Does StoreKit use separate metadata and transaction-eligibility services, allowing product information to load while the same product is rejected during purchase()?
- Are there known sandbox or StoreKit issues on iPadOS 26.6 that could produce this sequence?
- Could a stale App Review sandbox account token or storefront session explain the transition from STORE_PROBLEM to PRODUCT_NOT_AVAILABLE_FOR_PURCHASE?
- Is there any developer-side configuration that could explain this when the same product and binary complete successfully using another sandbox session?
- What additional logging should I capture from RevenueCat’s React Native SDK to preserve the complete underlying Apple error chain?