Hi everyone,
I’m based in Europe, and I’m trying to fully understand the current App Store payment rules for an iOS app that sells digital services or premium functionality used inside the app.
My goal is not to bypass App Store rules, but to implement the correct, compliant payment flow depending on the user’s region and the App Store requirements that apply there.
The app would offer things like premium features, credits, or access to digital functionality inside the iOS app.
The payment flow I would ideally like to support, where allowed, is:
iOS app -> Cloud ahndling -> Stripe Checkout page -> user pays -> Stripe handling -> my backend marks the user as premium
What I’m trying to understand is whether this flow is allowed, restricted, or prohibited depending on the user’s App Store storefront / region.
My questions are:
-
For digital goods, subscriptions, credits, or premium features used inside an iOS app, is Apple In-App Purchase still required by default?
-
In which regions, exactly, can an iOS app use or link to an external payment provider such as Stripe for digital services used inside the app?
-
For users in the United States, after the Epic Games v. Apple changes, can an app show an external payment option such as “Subscribe on the web” or “Pay with Stripe”? If yes, what are the exact requirements, limitations, wording rules, Apple fees, or reporting obligations?
-
For users in the European Union, under the DMA-related rules, does Apple allow external purchases through Stripe or a web checkout? If yes, do I need specific Apple entitlements, StoreKit External Purchase APIs, Apple approval, transaction reporting, or payment of Apple fees?
-
For the rest of the world, should I assume that Apple IAP is mandatory for digital content, subscriptions, credits, and premium app functionality unless Apple has a specific regional program allowing external payments?
-
What is the correct way to determine which payment flow a user should see? Should this be based on the user’s App Store storefront / StoreKit storefront, rather than IP address, device locale, billing address, or country selected manually by the user?
-
Would a regional routing approach like this be compliant?
if App Store storefront == US:
show Apple-compliant external purchase link / Stripe option if allowed
elif App Store storefront is in the EU and the app has the required Apple entitlement:
show Apple-compliant external purchase flow
else:
show Apple In-App Purchase only
-
If a user pays through Stripe or another external checkout in a region where external payments are allowed, can my backend unlock premium features inside the iOS app? Or are there restrictions on granting access inside the app when the purchase was not completed through Apple IAP?
-
For a first App Store release, is the safest approach to launch with Apple IAP only, then later add external payment options only in regions where Apple explicitly allows them?
-
For developers who have recently submitted apps with external payment links for digital services:
- Which countries or storefronts were accepted?
- Did App Review require special entitlements?
- Were there specific wording or UI requirements?
- Did Apple require transaction reporting or apply additional fees?
- Were there differences between the US, EU, and other regions?
In short, I’m trying to understand the practical compliant architecture:
iOS app = Apple IAP by default
external Stripe / web checkout = only where regionally allowed by Apple
backend = unlock premium access after valid payment, whether Apple IAP or approved external payment
payment UI = adapted based on App Store storefront / region
I would really appreciate answers from developers, App Review experiences, or anyone familiar with the current Apple rules after the Epic ruling, DMA changes, and Apple’s External Purchase Link / StoreKit External Purchase programs.
Thanks!