Guideline 3.1.1

Guideline 3.1.1 - In-App Purchase: Using External Payment for Digital Content

High SeverityHard FixTypical Fix: 1-3 days0 Reports
Also known as:App uses Stripe/PayPal to process payments for digital contentApp uses external payment mechanism to unlock featuresApp directs users to a website to purchase digital contentApp uses a third-party payment SDK for in-app functionalityApp collects credit card information for digital goods

Our Take

Apple is rejecting your app because it uses an external payment processor (Stripe, PayPal, Braintree, or a custom payment form) to sell digital content, features, or services that should be sold through Apple's In-App Purchase system. This is a tricky one, given the changes Apple has had to make in response to legal rulings in 2025. While Apple enforces this aggressively, guideline 3.1.1(a) allows developers to link to external payment providers for US storefronts. Specifically, the guideline states, "These entitlements are not required for developers to include buttons, external links, or other calls to action in their United States storefront apps. Please see additional details below". For users outside the US storefront, all digital goods and services consumed within the app must use IAP. This includes premium features, content unlocks, subscriptions to digital services, virtual currencies, and any functionality gating. The 30% commission (15% for Small Business Program members) is the cost of App Store distribution. This rejection is almost always automated or caught in the first pass of review. Apple's tooling detects Stripe SDK imports, PayPal WebViews, and similar payment infrastructure. Even if the payment UI is hidden behind a server-side flag, the SDK presence can trigger scrutiny. If you are using Stripe or another provider for users in the US, the best course of action is to explicitly state in your reviewer notes how you're using third-party payment providers, how you're segmenting US users, and that they can see Apple IAPs if they change their test device settings to see the experience for users outside the US. Sometimes however, the fastest path to approval is might be migrating digital purchases to StoreKit while keeping external payments only for physical goods and services delivered outside the app.

Resolution Guide

01

Check your user filters

Set up user segmentation so Stripe and other third-party payment providers are only shown to users with their App Store storefront set to the US.

02

Test segmentation thoroughly

Ensure that your filtering works regardless of internet connectivity or device state.

03

Update reviewer notes

Add something like the following to your reviewer notes: "We have added user segmentation so only user with a US App Store storefront will be able to purchase a subscription using [Stripe/PayPal/Braintree]. Please set your App Store storefront to US to test this purchase flow, then change to another country and test again so you can see that non-US users will continue to use Apple IAPs, as per guideline 3.1.1(a)."

The Fix (if you aren't planning to segment users)

04

Audit all payment flows

Identify every place your app accepts payment. Categorize each as digital (must use IAP) or physical/real-world service (can use external payment).

05

Implement StoreKit 2

Replace external payment for digital goods with StoreKit 2. Configure products in App Store Connect (consumables, non-consumables, auto-renewable subscriptions, or non-renewing subscriptions as appropriate).

06

Remove external payment SDK references for digital goods

If Stripe/PayPal is only used for digital content, remove the SDK entirely. If it serves dual purpose (digital + physical), ensure the digital purchase paths route through StoreKit.

07

Handle existing subscribers

If users already paid via external payment, implement a server-side entitlement check that honors existing purchases. New purchases go through IAP.

08

Consider the Small Business Program

If your annual App Store revenue is under $1M, enroll in the Apple Small Business Program to reduce commission from 30% to 15%.

09

Update server-side receipt validation

Implement App Store Server Notifications v2 to handle subscription lifecycle events.

Prevention

  • Design payment architecture with IAP from the start for any digital goods
  • Keep external payment only for physical goods, real-world services, and person-to-person transactions
  • Explore the reader app and multiplatform entitlement provisions if applicable
  • Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 3.1.1 - In-App Purchase: Using External Payment
    Guideline 3.1.1 - Business - Payments - In-App Purchase We found that your app uses a mechanism other than in-app purchase to unlock or enable additional functionality. Specifically, the app uses Stripe to process payments for premium features and digital content. In-App Purchase is required for digital content, features, and subscriptions offered within apps on the App Store. Next Steps: Please revise the app to use in-app purchase for all digital content and feature unlocks. You may continue to use external payment methods for physical goods and services delivered outside of the app.

    Consider Appealing

    Appeal only if your app qualifies as a reader app (3.1.3(a)), a multiplatform service (where content is consumed across platforms), or if the purchases are genuinely for physical goods or real-world services. Otherwise, fix and resubmit.

    Generate Appeal

    Before & After

    Before — Rejected

    Tapping 'Upgrade to Pro' opens a Stripe Checkout sheet collecting credit card details for a $9.99/month digital subscription

    After — Approved

    Tapping 'Upgrade to Pro' triggers a StoreKit 2 purchase sheet for a $9.99/month auto-renewable subscription configured in App Store Connect

    What changed: All digital content and feature purchases must route through Apple's In-App Purchase system, not external payment processors.

    Community Solutions · 0

    Sign in to share your solution.

    More Guideline 3 (Business) rejections

    View all Guideline 3 rejections