# Guideline 3.1.1 - In-App Purchase Requirement

**Guideline:** 3.1.1 · **Store:** Apple App Store · **Severity:** high · **Fix difficulty:** medium · **Typical turnaround:** 1-2 days

Canonical URL: https://appstorereject.com/rejections/apple/3/guideline-311-in-app-purchase-requirement

## Description

Your app uses a purchase mechanism other than in-app purchase to unlock features or functionality within the app. Apps offering digital content, subscriptions, or unlockable features must use Apple's In-App Purchase system. 

You may only direct users to a website or external payment method for purchasing digital goods or services for users within the United States, and those purchases must happen in a browser outside of the app.

## Common variations

- App directs to external website for purchases
- App uses Stripe/PayPal for digital content
- App mentions external purchasing options
- App links to web-based subscription page

## Example rejection email

```
We noticed that your app uses a mechanism other than the in-app purchase API to unlock functionality. Specifically, your app directs users to an external website for purchasing a subscription. Next Steps: Please revise your app to use the in-app purchase API to offer subscriptions.
```

## Resolution steps

## Quick Assessment
- **Risk level:** High
- **Resolution path:** Fix & Resubmit (usually requires code changes)
- **Typical turnaround:** 3-7 days

## The Fix

01. **Ensure you're only using other payment systems in the United States**
   Links to other payment systems are generally not allowed, except in the US as per guideline 3.1.1(a). Check your user segmentation so that only users with the **United States storefront** link to purchase methods other than Apple's IAP. 

If you are already doing this, appeal and add a reviewer note explaining your explicit user segmentation setup.

If you are not doing this, proceed to the remaining resolution steps.

02. **Audit all purchase touchpoints**
   Review every screen, button, and text reference in your app for external payment mentions, pricing, or subscription links.

03. **Remove external purchase references**
   Delete or hide all buttons, links, text, and UI elements that reference external payments, website subscriptions, or non-IAP pricing.

04. **Implement compliant alternatives**
   Either implement In-App Purchase for digital content, or remove purchase functionality entirely from the app (users can still purchase on web and sync content).

05. **Update app copy and metadata**
   Ensure app description, screenshots, and in-app text don't reference external purchase options or pricing not available through IAP.

05. **Test thoroughly**
   Verify no purchase flows, deep links, or user paths lead to external payment systems from within the app.

## Prevention
- Never include external payment buttons, links, or pricing in iOS apps
- Use IAP for all digital goods consumed in-app
- Keep web-based subscriptions completely separate from in-app experience
- Review all text and UI for compliance before submission

## Before / after examples

**Before:** App has a 'Subscribe' button that opens Safari to a Stripe checkout page
**After:** App uses StoreKit subscription products configured in App Store Connect with native purchase sheet
**Why it works:** Replace all external payment flows with Apple's native IAP system for digital content

## Common questions

**How long does this typically take to fix?**

Typical turnaround is 1-2 days (difficulty: medium). After resubmission, most re-reviews complete within 24-48 hours.

## Community solutions (1)

### Solution (+0, worked: 0)

---
*Machine-readable source: https://api.appstorereject.com/api/rejections/detail?slug=guideline-311-in-app-purchase-requirement*