Guideline 3.1.1 — In-App Purchase
Digital content used inside your app has to be bought through in-app purchase. A link out to your own checkout for the same thing is what triggers this.
What the rejection usually says
Your app unlocks features or functionality with mechanisms other than the App Store.
Your app includes a link to an external website for purchasing digital content.
Wording varies between reviewers; the substance does not.
Why it gets triggered
- A subscribe or upgrade button that opens a web checkout.
- Promo copy pointing users to a cheaper price on your site.
- A code redemption box that effectively sells the unlock elsewhere.
- A physical-goods argument for something that is really digital content.
How to fix it
1.Route digital purchases through IAP
Anything consumed in the app — subscriptions, credits, unlocks, removing ads — uses StoreKit.
2.Remove the outbound path
Take out links, prices and instructions that steer users to an external purchase for the same content.
3.Check whether an exemption applies
Reader apps, multiplatform services and physical goods have specific carve-outs. If you qualify, say which one in your reply.
A reply you can adapt
Short, specific, and stating what changed — reviewers read hundreds of these.
Thanks for the review. Subscriptions are now sold exclusively through in-app purchase, and we have removed the external checkout link and all references to web pricing from the app.
AppSubmit does this for your app, specifically
Paste the rejection and the decoder reads it against your actual listing, build and release history — then writes the fix plan and drafts the reply. It also watches your submissions, so the next rejection reaches you as a notification rather than a surprise.
Decode a rejection free