Apple’s business model for the App Store has long relied on taking a cut—up to 30%—from purchases made inside apps. This covers everything from unlocking a trial period, to adding premium features, to buying virtual coins in your favourite game.
Naturally, many businesses have looked for ways to avoid this commission, often passing on the savings to their customers. A common workaround was to encourage users to start their subscription or purchase journey outside the app, usually on the business’s website, where the Apple fee didn’t apply. Some apps would even advertise discounts for signing up online, explicitly steering users away from in-app purchases.
After years of this cat-and-mouse game—and with pressure from US courts—Apple updated its terms. Apps that wanted to direct users to external sites for purchases had to register those links with Apple, and Apple imposed a 27% commission on those external transactions. To discourage users, Apple also introduced mandatory “warning” screens before users could leave the app to complete a purchase.
This system largely relied on developer honesty: businesses had to report external sales to Apple, and Apple reserved the right to audit their records. The threat of audits, legal penalties, and the ability to monitor app behaviour gave Apple leverage, even if it couldn’t see every transaction directly.
Understandably, many businesses were frustrated, accusing Apple of abusing its dominant position in the app market. Epic Games, the company behind Fortnite and Unreal Engine, became the most prominent challenger, launching high-profile legal action against Apple. Their efforts, along with others, ultimately led to significant changes in the US: as of May 2025, Apple can no longer charge a commission or restrict external payment links for US-based apps.
Zoom forward 4 years and 8 months later: Epic has won against Apple is the US. On April 30, 2025, a US District Court ruling in California forced Apple to stop taking commissions on external web payments redirected from iOS apps.
From May 1, 2025, developers with apps in the US App Store can advertise and include a link to their website for In-App-Purchases (IAPs) and subscriptions.
While that over, for the US, the rest of the world must still submit to the fees and discouraging tactics by Apple.
| Aspect | Pre-April 2025 (US) | Post-April 2025 (US) | Non-US App Stores (Current) |
| External Link Commission | 27% commission on external purchases via entitled links | No commission on external purchases | Varied commission (where external links are allowed, e.g., some regions) |
| Scare Screens | Mandatory warnings discouraging external purchases | Removed, allowing seamless redirects to external payment sites | Varies by region; often present or external links prohibited |
| External Link Entitlement | Required for external links, with strict Apple approval and commission | Not required any longer. | Not available; external links for digital goods generally prohibited |
| In-App Purchase (IAP) | Mandatory for digital goods, 15-30% commission | Optional for US; developers can use external links instead | Mandatory for digital goods, 15-30% commission, unless region-specific rules |
| Link Design Restrictions | Limited to specific button styles and text to avoid mimicking IAP | More flexibility in button/link design, but must not mimic IAP | Strict restrictions; external links often disallowed for digital goods |
| Review Process | External payment systems subject to IAP review, slowing iterations | External payment systems bypass IAP review, enabling faster server-side updates | External links (if allowed) subject to review; IAP required for most cases |
At Hamilton Robson, we know from experience in deploying our own IOS apps, how difficult Apple’s review process makes it, and these nuances between stores is just going to make it harder.
For developers targeting a global audience there’s still some complexity. App Store policies still vary outside the US. The EU’s and South Korea’s markets force Apple to allow External Link Entitlements. The Netherlands also, but only for dating apps. Everywhere else doesn’t have this option.
We’ll walk through the key changes, what they mean for international app deployments, and how to build a flexible in-app purchase (IAP) strategy that adapts across regions.
We will be focusing on deploying an app globally and what we think is the best way to take advantage of the new allowances.
For an app that will release globally, you’re going to have to have region specific purchase flows or release and manage multiple app bundles with different store fronts.
Since the update in 2022, developers have been required to apply for a “StoreKit External Purchase Link Entitlement”. This is mandatory for apps directing users to an external site for digital goods or services.
You will still need to do this for your app for relevant non-US regions but for the US it’s no longer required, and Apple will no longer block you’re release on the App Store.
It’s important to note, that applying for one entitlement will not give you an entitlement for another country. So, if you’re aiming for a global deployment you will need to apply for an entitlement for each available country (below) that you are including a link for.
What countries:
Steps to Apply:
To comply with the US ruling while adhering to non-US App Store guidelines, the app’s UI will need to be dynamic based on the region that the user’s Apple account is associated with.
Since this guide is focusing on building with React Native or Expo, if you don’t want to offer IAP through the App Store the region is difficult to be sure of. You can get a “regionCode” from the “expo-localization” library but that is a value that the user can change through device’s settings. What you are looking for is “countryCode” from the “StoreKit” SDK. There are only 2 well maintained libraries in the React Native ecosystem that offer interaction with the “StoreKit” SDK.
Both libraries offer the ability to check the region associated with the Apple account. “react-native-purchases” does this through it’s “getStoreFront” method. You can get “countryCode” in the response of this call.
To support the US ruling’s commission-free external payments and comply with non-US App Store requirements, integrate a custom payment system for US users and Apple’s IAP system for non-US users.
Apple’s guidelines require transparency:
The recent changes to Apple’s in-app payment policies in the U.S. offer new opportunities for developers to implement external payment systems, reduce transaction costs, and simplify certain user flows. However, global deployment still requires careful attention to regional App Store policies, entitlement requirements, and platform guidelines.
Want to find out how the subject of this blog could help your business?
Our blended team of experts go over and above with our services to our customers, no matter what the challenge. Get in touch to find out how we can work together.
| Cookie | Duration | Description |
|---|---|---|
| cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
| cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
| cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
| cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
| cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
| viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |