Home / App rejections: fix guides for App Store and Google Play / Guideline 3.1.1: in-app purchase rejection

Guideline 3.1.1: in-app purchase rejection

Quick answer: A Guideline 3.1.1 rejection means your app unlocks digital content or features with a payment method other than Apple's In-App Purchase, or links or buttons steer users to pay elsewhere where that isn't permitted. Physical goods and real-world services are exempt. Rules on external purchase links differ by storefront, so check the current guideline.

How to fix it

  1. Classify what you sell: digital content (IAP) or physical goods/services (external payment fine).
  2. Implement StoreKit for digital items and add Restore Purchases.
  3. Remove or adjust external payment links per the current storefront rules.
  4. Make subscription terms clear on the paywall.

Guideline 3.1.1: key rules and context

What the rejection means. Guideline 3.1.1 is in the Business section (Review Guidelines). Apple has changed the rules on external links for some storefronts in recent years, so read the current text for the countries you sell in.

Why it usually happens

  • Stripe or PayPal used for subscriptions or premium features.
  • "Buy on our website" buttons where not permitted.
  • Unlock codes bought outside the app.
  • Restore Purchases button missing for non-consumables and subscriptions.

What to tell the reviewer. Explain what users buy and why it falls under the rule you're following. If it's a physical good or a person-to-person service, say so explicitly.

How to avoid it next time. Decide payment architecture before building the paywall, and re-read 3.1 when Apple updates guidelines.

Common mistakes

  • Hiding the web link elsewhere. Reviewers check settings and help pages.
  • No Restore Purchases. A common follow-up rejection.
  • IAP products not submitted. Attach them to the version.
  • Assuming every exception applies everywhere. Check the current guideline text for your region and app type.

If you want this handled for you, our pricing page lists every fixed package.

How to fix a 3.1.1 rejection, step by step

Follow these steps in order. Each one is something we do on client work.

  1. Identify what's being sold. Digital features, subscriptions, in-game currency or premium content need In-App Purchase under 3.1.1.
  2. Remove external purchase buttons and links. Unless you qualify for an entitlement or exception that applies in your region, buttons or links to buy digital goods elsewhere are the usual trigger.
  3. Create IAP products in App Store Connect. Set up the subscription group or products and attach them to the version.
  4. Implement StoreKit and Restore Purchases. Users who paid must be able to restore.
  5. Check physical goods and services. Goods and services used outside the app (e.g. physical delivery) don't use IAP.
  6. Reply with the purchase path. Tell the reviewer where the IAP appears.

Worked example (hypothetical)

This example is illustrative. The app is made up, and so are any numbers in it.

Imagine LinguaLeap sells a lifetime unlock through a web checkout link on the paywall. We'd create a non-consumable IAP, replace the link with a StoreKit purchase button plus Restore, keep the web price for existing web customers' sign-in only, and tell the reviewer: "Premium is now an In-App Purchase on Settings › Upgrade."

The guidelines behind most rejections

The table maps each point to the guideline 3.1.1 context. Rows are quoted or summarised from Apple's current App Review Guidelines. Where a row paraphrases Apple, the official wording always wins.

GuidelineWhat it coversUsual fix
2.1 App CompletenessFinal builds, working URLs, no placeholder contentFix crashes, add a demo account, test every link
2.3 Accurate MetadataDescription, screenshots and previews reflect the appRe-shoot screenshots from the real app; remove claims you can't show
2.3.7Unique name, accurate keywords, no trademarked or irrelevant termsRemove competitor names and pricing from metadata
3.1.1 In-App PurchaseDigital features and content unlocked via IAPMove digital unlocks to StoreKit IAP
4.2 Minimum FunctionalityMore than a repackaged websiteAdd native, useful features
4.3 SpamNo duplicate bundle IDs or saturated copycat appsConsolidate apps; show what is unique
5.1.1 Data Collection and StoragePrivacy policy, permissions, account deletion (5.1.1(v))Add policy links, clear purpose strings, in-app deletion

Checklist

Copy this list into your release notes or ticket and tick each item off before you ship.

  • Digital unlocks mapped to IAP
  • External purchase links removed or justified
  • IAP products attached to the version
  • Restore Purchases works
  • Physical goods kept outside IAP
  • Reply states the purchase path

Sources

FAQ

Questions

Do physical goods need IAP?

No.

Can I link to my website for payment?

It depends on the storefront and entitlement; check the current guideline.

Do reader apps have special rules?

Yes, 3.1.3(a) covers reader apps.

Do I need Restore Purchases?

Yes, for non-consumables and subscriptions.

Can you review my paywall?

Yes, in the rejection fix package.

Does a physical product store need In-App Purchase?

No. Guideline 3.1 rules target digital content; physical goods and services used outside the app use other payment methods.

Ready when you are

Fix your listing this week.

One fixed price, delivered as copy and files you paste yourself. No calls, no account access.

$99 one-timeDelivered in 2–3 business days2 revisionsNo login needed
Questions? Email us
Rank higher. More installs.Want your app ranked and more installs?
Get HireASO