Guideline 3.1.1 Rejection: How to Fix In-App Purchase Issues and Resubmit
Guideline 3.1.1 is Apple's core monetization rule: if you sell digital content or features consumed inside the app — subscriptions, premium tiers, coins, unlocks — you must offer them through Apple's in-app purchase system. Rejections land when an app links out to a website to pay, unlocks content bought elsewhere without offering IAP, or steers users toward cheaper external prices in ways Apple doesn't permit. The rules have genuinely shifted in recent years (notably for US storefront external purchase links and EU alternative payments), which makes 3.1.1 one of the more confusing guidelines — but the classic rejection cases are still clear-cut.
What Apple's rejection email says
"Guideline 3.1.1 — Business — Payments — In-App Purchase. We noticed that your app includes or accesses paid digital content, services or functionality by means other than in-app purchase. Specifically, your app directs users to a website to purchase a subscription. Next Steps: To resolve this issue, please revise your app to use in-app purchase to unlock features or functionality in your app."
Typical App Review wording for Guideline 3.1.1. Exact text varies per app.
Why apps get rejected under 3.1.1
- Digital unlocks sold outside IAP. A "Subscribe" or "Upgrade" button that opens Safari or a web checkout, Stripe/PayPal payment flows inside the app for digital goods, or license keys purchased on your site being the only way to unlock the app.
- Steering without an allowed entitlement. In-app text like "save 20% by subscribing on our website" or buttons linking to external pricing pages. Whether an external purchase link is allowed now depends on storefront and entitlement — for example, US storefront apps may include links to external purchase mechanisms following the 2025 US court ruling, and the EU has its own alternative payment terms — but outside those specific frameworks, steering is still rejected.
- Reader-app confusion. Reader apps (video, music, books, cloud storage) may let users access content purchased elsewhere, and may use the External Link Account entitlement — but only if they don't also try to sell digital goods in-app outside IAP.
- Physical vs. digital mixed up. Physical goods and real-world services must NOT use IAP (use normal payment processing); digital consumption in-app must. Apps that blur the two get flagged.
- IAP present but bypassable. Offering IAP but making the external route more prominent, or gating restore/purchase flows so the reviewer only finds the web checkout.
Step-by-step fix
- Classify what you're selling. Digital features consumed in the app → IAP required. Physical goods or services consumed outside the app → regular payments, not IAP. This single classification resolves most confusion.
- Implement the products in App Store Connect. Your app → Monetization → In-App Purchases (or Subscriptions): create the products, pricing and localizations, and submit them with the app version — new IAPs must be submitted for review alongside a build.
- Wire up StoreKit. Use StoreKit 2 (
Product.products(for:),product.purchase(),Transaction.currentEntitlements) for purchase and entitlement checks, and include a Restore Purchases path — its absence is its own rejection. - Remove disallowed external payment paths. Delete in-app links and buttons that lead to web checkout for digital goods, and remove "cheaper on our website" copy — unless you are explicitly operating under an applicable entitlement (US external purchase link, EU alternative payments, reader app External Link Account) and following its exact UI and disclosure requirements.
- Keep account login working for existing subscribers. You may let users who already purchased elsewhere sign in and use their entitlement; you just can't point new users to the external store without an allowed entitlement.
- Test with a sandbox account so the reviewer's purchase flow works on the first try.
How to resubmit
3.1.1 fixes almost always mean a new binary (IAP wiring, removed links), so: upload the new build, attach any new in-app purchases to the version, and submit for review. In your reviewer notes, state plainly what changed — "external purchase link removed; subscription now offered via IAP product com.example.pro". If you believe you qualify for an entitlement Apple ignored, say so in a reply with the entitlement name rather than filing an appeal: roughly 85% of appeals are denied, and a factual reviewer reply resolves misunderstandings faster.
How AscAuto handles 3.1.1 rejections
AscAuto treats 3.1.1 as a code-level rejection with a business dimension. It reads Apple's message, identifies which pattern you hit (external checkout, steering copy, missing restore, reader-app edge case), and produces a diagnosis with the specific screens and strings involved. With GitHub connected it proposes the change as a pull request — e.g. removing the external link and stubbing the StoreKit flow — for you to review and merge. Reviewer replies (for entitlement misunderstandings) are drafted and held for your approval; nothing goes to Apple on its own.
FAQ
Can I link to my website for payments now?
It depends on storefront and entitlement. On the US storefront, apps may include links to external purchase mechanisms following the 2025 court ruling, and the EU has separate alternative-payment terms. Outside an applicable framework, linking out to pay for digital goods is still a 3.1.1 rejection. When in doubt, offer IAP.
Do physical goods need in-app purchase?
No — the opposite. Physical goods and services consumed outside the app (e-commerce, ride hailing, food delivery) must use regular payment methods, not IAP. IAP is required only for digital content and features used within the app.
Users who subscribed on my website — can they log in on iOS?
Yes. Honoring an existing entitlement after login is allowed. What gets rejected is directing new users to purchase outside the app without an entitlement that permits it.
Why was I rejected when my app does have IAP?
Common causes: the external route is still present or more prominent, the IAP products were not submitted with the build, the purchase flow fails in sandbox, or there is no Restore Purchases option. The reviewer must be able to complete the whole flow through Apple's system.