All rejection guidesGuideline 3.1.1

3.1.1

Guideline 3.1.1 rejection: unlocking features without in-app purchase

The app unlocks digital features or content in some way other than Apple’s in-app purchase, or there is no way to restore purchases.

“If you want to unlock features or functionality within your app … you must use in-app purchase.”
App Review Guidelines, 3.1.1 In-App Purchase

Why apps get rejected for it

  • ×A web checkout (Stripe, PayPal) or license key that unlocks features inside the app.
  • ×Buttons or links that send people to buy outside the app where that isn’t allowed in their storefront.
  • ×No “Restore Purchases” option for subscriptions or non-consumables.
  • ×Promo codes or QR codes of your own that unlock premium content.

How to fix it

  1. 01Sell every digital feature, subscription and content unlock through StoreKit.
  2. 02Add a visible Restore Purchases button, usually on the paywall and in settings.
  3. 03Physical goods and real-world services can use other payment methods. Digital ones can’t, except where Apple’s rules for a storefront say otherwise.
  4. 04Use App Store offer codes instead of your own unlock codes.

What to tell App Review

“All premium features are now sold through in-app purchase, and Restore Purchases is on the paywall and in Settings.” Submit the new build.

Want a second pair of eyes before you resubmit?

The App Launch Audit checks your app against 3.1.1 and every other common rejection reason, and gives you a READY / NOT READY report with the exact fixes within 48 hours.

Not affiliated with Apple. The guidelines change; the full text on Apple's site is what counts. Last checked 5 October 2026.