Product.products(for:) returns one subscription group's products but not return the other

I'm stuck on this and genuinely don't know what's wrong.

I have two auto-renewable subscription groups in one app. I pass all six product IDs to a single Product.products(for:) call. It succeeds, doesn't throw, and returns three products — all from group A. The three from group B just aren't in the array. No error, they're simply absent.

All six show Approved in App Store Connect.

[PlusStore] probe — storefront: USA [PlusStore] probe — OK ...plus.monthly (group A) [PlusStore] probe — OK ...plus.quarterly (group A) [PlusStore] probe — OK ...plus.yearly (group A) [PlusStore] probe — MISSING ...plus.founding.monthly (group B) [PlusStore] probe — MISSING ...plus.founding.quarterly (group B) [PlusStore] probe — MISSING ...plus.founding.yearly (group B)

Retried three times with backoff, so it isn't cold-launch timing.

I don't think it can be the Paid Applications Agreement, the sandbox account, a network failure, or a wrong bundle prefix, since group A comes back fine. I've checked the group B IDs character-for-character against the Product ID field in App Store Connect, confirmed United States is enabled with an active price and no future-dated schedule on all three, and confirmed there's no .storekit file attached to the scheme.

So the only difference I can find between the two groups is the group itself.

Please file a feedback assistant with a sysdiagnose and screen recording.

How to File Feedback assistant ticket?
https://feedbackassistant.apple.com/

  • Login with your developer account,
  • Choose "iOS & iPadOS”
  • Choose AppStore
  • “Incorrect & Unexpected behavior"
  • Input the issue description and title.
  • Upload attachments
  • Click “Submit”
  • Copy the Ticket ID “FBxxxxxxx” and let us know.

To capture a system diagnose log.
https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=ios