LimitedRound 2 is open. Get your first month free, no extra charge.Join the waitlist ›
Fix and resubmit

App Store rejection: Guideline 3.1.1 in-app purchase, and how to fix it

TL;DR. Guideline 3.1.1 requires that unlocking digital features or content inside your app uses Apple in-app purchase, not your own mechanism like license keys or outside payment links. To fix it, move digital unlocks to StoreKit in-app purchase and remove external purchase calls to action. Apple reviews every resubmission.

What App Store Guideline 3.1.1 says

Apple's Guideline 3.1.1 (In-App Purchase) says that if you want to unlock features or functionality within your app, by way of example subscriptions, in-game currencies, game levels, access to premium content, or unlocking a full version, you must use in-app purchase. Apps may not use their own mechanisms to unlock content or functionality, such as license keys, augmented reality markers, QR codes, cryptocurrencies, and cryptocurrency wallets.

The guideline also states that credits or in-game currencies purchased via in-app purchase may not expire, and you should provide a restore mechanism for restorable in-app purchases. Digital gift cards, certificates, vouchers, and coupons redeemable for digital goods or services can only be sold in the app using in-app purchase, while physical gift cards mailed to customers may use other payment methods.

The full text is on the App Store Review Guidelines page. Note that other parts of Section 3 cover reader apps, external link entitlements, and storefront-specific rules, which change over time, so check the current text for your situation.

Why apps get rejected under 3.1.1

Common triggers:

  • Unlocking a premium tier, content, or features with a license key, code, or login purchased on your website rather than through in-app purchase.
  • A button or link inside the app that sends users to an external page to pay for digital content.
  • Selling in-game currency, levels, or digital subscriptions through any payment method other than in-app purchase.
  • Asking users to pay with cryptocurrency to unlock features.
  • In-app purchases that exist but cannot be found or completed during review, which overlaps with completeness rules.

Apple frames 3.1.1 around its in-app purchase system being the path for digital unlocks. If the reviewer sees a way to unlock digital content that bypasses in-app purchase, the app is rejected.

How to fix it

  1. Identify every digital unlock. List each feature, subscription, currency, or content item the app unlocks, and confirm each one is digital and consumed in the app.
  2. Move unlocks to StoreKit. Implement those unlocks as in-app purchase products using StoreKit, and configure the matching products in App Store Connect.
  3. Remove external purchase calls to action. Delete buttons, links, and copy that send users outside the app to pay for digital content, unless you are using an entitlement that explicitly permits it in your storefront.
  4. Add a restore button. Provide a restore purchases option so users can recover non-consumable purchases and subscriptions.
  5. Make products reviewable. Ensure the in-app purchases are complete, visible, and functional during review, and explain in the review notes where to find them.

Submitted is not approved. The reviewer will look for any unlock that bypasses in-app purchase, so the fix has to remove the bypass, not hide it.

How AppFlight helps

AppFlight offers one-click integrations for RevenueCat and Superwall, which sit on top of StoreKit in-app purchase to manage paywalls, subscriptions, and entitlements, so the monetization it wires in routes digital unlocks through Apple's system rather than an external mechanism. When Apple returns a 3.1.1 rejection, AppFlight reads the rejection reason, works on the fix, and resubmits, for example moving an unlock onto in-app purchase or removing an external purchase prompt in the generated Swift. AppFlight does not guarantee approval. Apple reviews every app and every resubmission, and Section 3 rules shift over time, so confirm the current guideline text for your monetization model.

FAQ

What does App Store Guideline 3.1.1 mean?

It requires that any unlock of digital features, content, subscriptions, or in-game currency inside your app use Apple in-app purchase. Apps may not use their own mechanisms such as license keys, QR codes, or cryptocurrency to unlock digital content.

Why was my app rejected for an external payment link?

If your app unlocks digital content but routes users to pay outside in-app purchase, that violates 3.1.1. The fix is to sell those digital unlocks through StoreKit in-app purchase and remove the external purchase calls to action.

Do physical goods need in-app purchase?

No. In-app purchase is for digital content and services consumed in the app. Physical goods and services delivered outside the app use other payment methods. The 3.1.1 requirement is specific to unlocking digital features and content.

Sources

Build this app without opening Xcode.

AppFlight turns a plain-English prompt into a real native iOS app and ships it to the App Store. Round 2 is open: free for your first month.

Join the waitlist