StoreKit returns empty product list in Sandbox (TestFlight, valid IAP setup)

Hello,

I’m facing an issue with StoreKit where no products are returned in Sandbox.

Context:

  • App: SylvoY (Bundle ID: fr.sylvoy.app)
  • Product ID: sylvoy_sylvoy_premium_v2_monthly
  • Type: auto-renewable subscription
  • Build: TestFlight 1.0.16 (Build 20)
  • Device: physical iPhone
  • Environment: Sandbox account

Setup:

  • Paid Applications Agreement: Active
  • Banking & Tax: Active
  • Product status: Ready to Submit
  • Product is linked to the current TestFlight build

Issue: When fetching products using StoreKit, the returned array is empty:

productsCount = 0 products = []

Expected: Product metadata (price, description) should be returned.

Actual: No products are returned at all.

Additional info:

  • Product identifier is correct
  • Tested on real device (not simulator)
  • Installed via TestFlight
  • Sandbox account properly configured

This issue is currently blocking validation of the subscription flow before release.

DTS Case-ID: 18968852 (redirected here)

Any help would be appreciated.

Hello,

Thanks for your response and for pointing me to TN3186. I have carefully followed the troubleshooting steps, but the issue still persists. Below is a detailed summary of the current situation.

Configuration status:

  • The auto-renewable subscription is fully created in App Store Connect
  • Product ID: sylvoy_sylvoy_premium_v2_monthly
  • Status: “Ready to Submit”
  • Pricing is configured and available across regions
  • The subscription is correctly added to the app version under “In-App Purchases and Subscriptions”
  • StoreKit is properly implemented and getSubscriptions is called with the correct product ID

Testing performed:

  • Tested on a physical device (not simulator)
  • Logged in with a Sandbox Apple ID
  • Logged out and re-authenticated the App Store account
  • Reinstalled the app multiple times
  • Waited for propagation delays (over 24 hours)
  • Verified that no StoreKit errors are returned (only an empty product array)
  • Confirmed that bundle ID and product ID match exactly

Current behavior:

  • getSubscriptions() always returns an empty array
  • No products are fetched from the App Store
  • No error is thrown, suggesting the products are not available rather than failing

Important observation: This is the first subscription for the app. App Store Connect displays the message:

“Your first subscription must be submitted with a new app version.”

At the same time, the subscription still shows:

  • “Finalize before submission” in the localization section

Even after editing and saving localization fields, this status does not clear, and the “Save” button is sometimes disabled unless a forced change is made.

Suspicions:

  • The subscription may not be considered fully finalized internally by App Store Connect
  • As a result, it may not be exposed to StoreKit in the sandbox environment
  • There may be a state inconsistency where the product is neither fully draft nor fully available

Clarifications needed:

  • Can a first subscription be fetched in the sandbox before submitting an app version for review?
  • Does the “Finalize before submission” state prevent StoreKit visibility, even in sandbox?
  • Is there any internal validation or propagation step that could block product availability in this state?

At this point, the configuration appears correct, but the product is still not returned by StoreKit.

Thank you for your assistance.

Hello,

Additional information: the same subscription works correctly with StoreKit local testing in Xcode (StoreKit configuration file). The product is returned and the purchase flow behaves as expected.

The issue only occurs in the App Store sandbox via TestFlight, where the same product ID returns an empty array.

This suggests the implementation is correct and the issue may be related to App Store Connect or sandbox availability.

Thank you.

StoreKit returns empty product list in Sandbox (TestFlight, valid IAP setup)
 
 
Q