The Short Answer
A Guideline 3.1.1 rejection means App Review found a way for a user to unlock content or functionality in your app that does not go through Apple's in-app purchase system. Apple's rule is direct: if you want to unlock features or functionality inside 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, and apps may not use their own mechanisms to unlock content instead, such as license keys, augmented reality markers, QR codes, cryptocurrencies, or cryptocurrency wallets. The fix is to route that unlock through a real StoreKit in-app purchase product, not to explain why your workaround is different.
What Guideline 3.1.1 Actually Says
Apple's text for 3.1.1 lists what has to go through in-app purchase and what is explicitly off-limits as a workaround. Apps may use in-app purchase currencies to let customers tip a developer or content provider. Any credits or in-game currencies purchased via in-app purchase may not expire, and restorable purchases need a working restore mechanism. Gifting is allowed for items eligible for in-app purchase, but a gift may only be refunded to the original purchaser, not exchanged. Apps offering loot boxes or other randomized virtual items must disclose the odds of receiving each item type before purchase. Digital gift cards, certificates, vouchers, and coupons redeemable for digital goods or services can only be sold through in-app purchase, though physical gift cards sold in an app and mailed to the customer can use other payment methods.
- Unlock mechanisms Apple names as not allowed: license keys, augmented reality markers, QR codes, cryptocurrencies, and cryptocurrency wallets.
- Non-subscription apps may offer a free time-based trial before a full unlock by setting up a Non-Consumable in-app purchase item at Price Tier 0 that follows the naming convention "XX-day Trial," and the app must clearly state the trial's duration, what becomes inaccessible when it ends, and any downstream charges before the trial starts.
- Apps may sell NFT-related services through in-app purchase and let a user view NFTs they already own without that ownership unlocking app features, but outside the United States storefront, an app may not include buttons, external links, or other calls to action that direct customers to purchasing mechanisms other than in-app purchase for NFTs owned by others.
Guideline 3.1.1(a): The External Purchase Link Entitlement
Apple does allow a specific, opt-in path to link out to another purchase method, but it requires an entitlement, not just a good reason. Under 3.1.1(a), developers can apply for a StoreKit External Purchase Link Entitlement to include a link in their app to a website they own or maintain responsibility for, where a user can buy digital content or services outside in-app purchase. That entitlement is limited to specific storefronts and regions, and it comes with real restrictions: it can inform users where and how to buy the item and that the price may be lower elsewhere, but outside the covered storefronts, apps and their metadata still cannot include buttons, external links, or other calls to action pointing at other purchasing mechanisms. Apple's text is explicit that misleading marketing, scams, or fraud tied to the entitlement gets the app removed from the store and can get the developer removed from the Apple Developer Program.
Where This Actually Trips Up Expo Apps
Almost every 3.1.1 rejection on a fast-shipped Expo app traces back to one of a handful of shortcuts, usually taken to avoid setting up StoreKit products in App Store Connect before the first submission.
- A Stripe or PayPal checkout link (in a WebView or an external browser tab) used to unlock premium features or remove ads, instead of an in-app purchase.
- A "email us your payment screenshot and we'll unlock your account" flow, common in apps that started as a web product and bolted on a mobile shell.
- A promo or license key generated outside the app and pasted into a settings screen to flip a paid flag, left over from a web-first licensing model.
- Consumable credits that never expire being sold correctly through in-app purchase, but with no restore-purchases button anywhere in the app, which reviewers can also flag under this guideline family.
None of these are subtle once App Review looks for them. The reviewer's test is simple: does anything in this app unlock a feature through a payment that did not go through Apple. If the answer is yes anywhere in the app, the whole submission gets the 3.1.1 rejection, even if every other paywall in the app correctly uses in-app purchase.
The Narrow Exceptions: Reader Apps and Multiplatform Services
Guideline 3.1.3 lists app types that may use purchase methods other than in-app purchase, and two of them get cited in Resolution Center arguments far more often than they actually apply. Read Apple's exact scope before you build a rejection response around either one.
- 3.1.3(a) Reader apps: apps may allow a user to access previously purchased content or content subscriptions, and Apple names the categories explicitly as magazines, newspapers, books, audio, music, and video. Reader apps may offer account creation for free tiers and account management for existing customers, and developers can apply for the External Link Account Entitlement to link out for account creation or management. This exception does not cover professional databases, VoIP, cloud storage, or email services, and it does not cover a typical subscription utility, habit tracker, or game.
- 3.1.3(b) Multiplatform services: apps that operate across multiple platforms may let users access content, subscriptions, or features they already acquired on another platform or your website, including consumable items in multi-platform games, but only if those same items are also available as in-app purchases inside the app. This is access to something already purchased elsewhere, not a second checkout that skips in-app purchase inside the app itself.
3.1.3 also states plainly that apps covered by these exceptions still cannot, within the app, encourage users toward a purchasing method other than in-app purchase, outside of the United States storefront and the specific 3.1.1(a) and 3.1.3(a) entitlement cases. Developers can email or message their existing users outside the app about other ways to pay; they cannot build that pitch into the app's UI.
The Non-Consumable Trial: An Underused Alternative
If your real goal was to let someone try the app before paying, without building a login system or a backend to track a promo code, Apple already has a sanctioned path for that. A non-subscription app can set up a Non-Consumable in-app purchase item at Price Tier 0 named with the "XX-day Trial" convention, then gate the full unlock behind purchasing the real paid product once the trial period ends. The app has to clearly show the trial's duration, name what becomes inaccessible afterward, and disclose any downstream charges before the trial starts. It is more setup than a hardcoded flag, but it is a real StoreKit product, so it never puts you anywhere near a 3.1.1 rejection.
How to Fix a 3.1.1 Rejection Before You Resubmit
Work through the app screen by screen looking for anything that changes what the user can access after money moves, not just the screens you think of as "the paywall."
- Find every place a payment, code, or external link changes what the user can do in the app, including settings screens, onboarding, and admin-style unlock toggles left over from testing.
- Replace each one with a real in-app purchase product created in App Store Connect and wired through StoreKit or RevenueCat, matching the product type to what it actually does (consumable, non-consumable, auto-renewable subscription, or non-renewing subscription).
- Remove any button, link, or call to action that routes the user off the app to pay, unless you have actually been granted the External Purchase Link Entitlement or your app genuinely qualifies as a Reader app or Multiplatform service under 3.1.3.
- Add a working "Restore Purchases" action for every restorable product, since a missing restore path is one of the fastest ways to get this rejection alongside the unlock issue itself.
- Confirm any credits or in-game currency sold through in-app purchase never expire, and that gifted items can only be refunded back to the person who bought them.
How to Answer a 3.1.1 Rejection in Resolution Center
Treat this like any other App Review message: state exactly what changed, in terms of the specific mechanism the reviewer found, not a general promise to "fix payments."
- Name the exact unlock mechanism that was flagged, and say what it was replaced with, for example "the license key field in Settings has been removed and premium is now unlocked through the Premium Access non-consumable in-app purchase."
- If you believe your app qualifies for a 3.1.3 exception, quote the specific sub-clause and explain how your app matches Apple's stated scope for it, rather than asserting that the rule feels unfair for your case.
- Do not resubmit the same external payment link with softer wording. App Review re-tests the actual binary, and a relabeled link to the same checkout page reads as the same violation.
The general pattern for structuring any Resolution Center reply, including what belongs in App Review Information versus the reply itself, is covered in [Guideline 2.1 Information Needed](/blog/guideline-2-1-information-needed-rejection). If the paywall screen itself also needs work once the mechanism is fixed, [paywall screen that converts](/blog/paywall-screen-that-converts) covers the layout and copy that clears review and converts.
Short, practical drops on app ideas, validating fast, store listings, and passing app review. No spam, unsubscribe anytime.
Frequently asked questions
What is a Guideline 3.1.1 rejection?
Guideline 3.1.1 is Apple's in-app purchase rule. App Review cites it when an app unlocks content, features, or a full version through something other than Apple's in-app purchase system, such as a license key, a QR code, a crypto wallet, or a payment link that routes off the app.
Can I ever link to my website to accept payment instead of using in-app purchase?
Only under 3.1.1(a), and only if you have applied for and been granted the StoreKit External Purchase Link Entitlement, which is limited to specific storefronts and regions and comes with strict rules about what the link can say. Adding a payment link without that entitlement is very likely the exact rejection you received.
Does the Reader app exception cover a subscription app or game?
No. Apple defines Reader apps narrowly as apps that provide access to previously purchased magazines, newspapers, books, audio, music, or video. It does not cover professional databases, VoIP, cloud storage, email services, or a typical subscription utility, habit tracker, or game.
Can a web app and a mobile app share a subscription without using in-app purchase on mobile?
The 3.1.3(b) Multiplatform Services exception allows a user to access content or features they already purchased on another platform, but only if the same items are also available as in-app purchases inside the app itself. It is not a way to sell the subscription exclusively through the web and skip in-app purchase in the app.
Do in-app purchase credits or in-game currency have to expire?
No, and Apple's guideline says the opposite: any credits or in-game currency purchased through in-app purchase may not expire. Building an expiring credit system on top of a real in-app purchase product is itself a guideline issue, separate from the unlock-mechanism problem.
What is the fastest legitimate way to offer a free trial without a subscription?
Set up a Non-Consumable in-app purchase item at Price Tier 0 named with Apple's "XX-day Trial" convention, and clearly disclose the trial length, what becomes inaccessible afterward, and any downstream charges before the trial starts. It is a real StoreKit product, so it does not create a 3.1.1 risk the way a hardcoded trial flag can.
Last reviewed by David on August 30, 2026


