Display name and price feel like the product. The review screenshot is the field I skipped in my head. Leave it empty and the subscription stays incomplete. StoreKit returns nothing. Guideline 2.1 still applies.

It is not marketing

Apple wants an image of the purchase for review. I treated it as optional art. It is part of submittable metadata, next to name, description, and price.

The list still shows the row

Connect will show a product that is not ready. The table is not the truth StoreKit uses. I open the product, not the list.

Then I fetch

Screenshot attached, IDs matched, sandbox signed in. If it is still empty, I go back to the agreement. Hub: empty StoreKit.