Our first submission has now been rejected under Guideline 2.1(b),
with the message: "the in-app purchases do not load successfully."
Each review was performed on an iPad Air 11-inch (M3) running iPadOS 26.6.
The app sells only auto-renewable subscriptions. We cannot reproduce the
failure, and we have verified every part of the configuration we can think of.
WHAT WE VERIFIED (via the App Store Connect API, not just the UI)
Two subscriptions in one group, state READY_TO_SUBMIT
Product IDs exactly match what the app requests
Available in 175 territories, including the United States
Prices set, en-US localizations present for both products and for the group
App review screenshots attached to both, state COMPLETE
Both subscriptions are included in the review submission (READY_FOR_REVIEW)
Paid Apps Agreement: Active. Bank account: Active. Tax forms: Active.
WHAT WORKS
On our own devices, installed via TestFlight (sandbox environment), the
products load correctly and a purchase completes and activates as expected.
This works on both a real Apple ID and a Sandbox Tester account.
WHAT WE OBSERVED FROM THE REVIEW SESSION
We use RevenueCat. Their server-side API returns our offering with both
packages and the correct product identifiers, so the offering metadata is fine.
Our backend also shows that the reviewer's session reached our servers and
signed in successfully at the review timestamp, so the device had working
network connectivity.
That leaves StoreKit itself returning no products on the reviewer's device,
which is what empties the offering.
QUESTIONS
Are there known conditions under which StoreKit returns no products in the
App Review sandbox for subscriptions that are in "Ready to Submit" and are
attached to the same submission as the binary?
For an app that has never been approved, is product loading during review
handled differently from a normal sandbox session on a released app?
Is there any way to obtain diagnostics from a review session, or to ask the
reviewer for a screenshot of the failing screen? Replies in Resolution
Center so far have only repeated the original rejection text.
Is there anything specific to iPadOS 26.6 that could affect StoreKit 2
product lookups?
For the next submission we have added a timeout and automatic retries around
the product lookup, plus a visible retry control instead of a spinner, in case
the failure is a transient cold-start timeout. But we would rather understand
the actual cause than keep guessing.
Any pointers appreciated.
Topic:
App & System Services
SubTopic:
StoreKit
Tags:
StoreKit
In-App Purchase
App Review
Subscriptions
0
0
194