Beating the Apple Tax: What iOS Developers need to know  

Jake Young

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. 

How Businesses Tried to Avoid the ‘Apple Tax’ 

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. 

Apple’s Response: External Link Commission and Enforcement 

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. 

Industry Backlash and Legal Action 

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. 

Legal outcomes: Major Changes 

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.  

Exceptions for Global App Developers 

While that over, for the US, the rest of the world must still submit to the fees and discouraging tactics by Apple. 

The following table summarises the key changes: 

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. 

How Developers Can Take Advantage 

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. 

  1. Apply for the StoreKit External Purchase Link Entitlement

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: 

  • EU (All States) 
  • South Korea 
  • Netherlands (Dating Apps Only) 

Steps to Apply: 

  • Submit a Request: Visit the Apple Developer Portal (developer.apple.com), go to “Certificates, Identifiers & Profiles,” select your app, and request the entitlement. 
  • Provide Details: Specify the app’s purpose, how external links will be used, and confirm compliance with privacy and security standards (e.g., HTTPS, transparent pricing). 
  • Await Approval: Apple reviews requests, typically within 1-2 weeks. Once approved, add the entitlement to your app’s provisioning profile in Xcode. 
  • Integrate in Xcode: 
  • Open your project in Xcode and select the target. 
  • Go to “Signing & Capabilities,” click “+ Capability,” and add the StoreKit External Purchase Link Entitlement. 
  • Rebuild and submit your app with the updated profile. 
  1. Update App UI for External Payment Links with Regional Logic

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.  

  • react-native-purchases 
  • react-native-iap 

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.   

  • Modify UI for Conditional Payment Options: 
  • Add buttons or links in the app’s payment flow to direct users to an external payment website (US, EU, South Korea, Netherlands) or trigger IAP. 
  • Ensure external link designs are clear, user-friendly, and distinct from IAP buttons to avoid mimicking Apple’s purchase interface. 
  • Label external links transparently (e.g., “Pay on Website”) to comply with App Store guidelines.
  • Implement Region Detection: 
  • Use react-native-purchase to fetch the storefront and retrieve the countryCode property (e.g., US, GB, JP) from the product response. 
  • Check if countryCode is US to enable external payment links; otherwise, default to IAP for non-US regions (or external links with appropriate entitlements). 
  • Handle errors (e.g., network failures during product fetch) by falling back to IAP to ensure compliance in non-US regions
  • Ensure Compliance with App Store Guidelines: 
  • For US users, external links must redirect to secure websites (HTTPS) and comply with privacy laws (e.g., CCPA). 
  • Avoid external links in non-US regions to prevent App Store rejection and adhere to IAP requirements for digital goods unless you have appropriate entitlements
  • Consider Single App with Regional Logic:  
  • Use a single app bundle with dynamic logic based on countryCode to manage US (external links) and non-US (IAP) flows. 
  • Submit to all App Stores via App Store Connect, ensuring external links are for US, EU, South Korea or Netherlands only. 
  • Document in submission notes that external links use the entitlement and are restricted to the US, with countryCode detection
  • Test Thoroughly: 
  • Verify region detection accuracy using Sandboxed Apple Accounts in different regions (e.g., US, UK, Japan) via Simulator or TestFlight. 
  • Test edge cases, such as region switches or product fetch failures, to ensure compliance. 
  1. Integrate a Custom Payment System (US) and IAP (Non-US)

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. 

  • Set Up External Payment System for US Users: 
  • Use third-party payment processors (e.g., Stripe, Paddle, PayPal) to handle checkout on your external website. Look at Stripe’s documentation for getting this setup. 
  • Ensure the website uses HTTPS and complies with privacy laws (e.g., CCPA) to maintain user trust. 
  • Implement a secure checkout flow with clear pricing, payment method options, and success/cancel redirects. 
  • Test redirects from the app to the website, ensuring seamless navigation in Safari
  • Integrate In-App Purchases for Non-US Users: 
  • Use react-native-purchases to implement Apple’s IAP system for digital goods purchases in non-US regions. 
  • Fetch available products, initiate purchases, and handle transaction states (e.g., success, failure, pending). 
  • Validate purchase receipts server-side to verify transactions and prevent fraud. 
  • Ensure compliance with Apple’s 15-30% commission and App Store guidelines for non-US regions
  • Coordinate Regional Payment Flows: 
  • For US users, trigger external website redirects based on countryCode detection (US). 
  • For non-US users, initiate IAP flows, ensuring no external links are presented unless allowed by region-specific rules. 
  • Maintain consistent user experiences across regions by aligning purchase benefits (e.g., subscription features)
  • Synchronize Purchases Across Bundles (if using multiple bundles): 
  • Use a backend system to sync purchase data (e.g., via user account IDs) between US (external) and non-US (IAP) apps. 
  • Ensure users retain access to purchased content regardless of the app bundle or region. 
  • Implement account-based authentication to link purchases across platforms (e.g., iOS, Android, web)
  • Test Payment Integration: 
  • Verify external payment flows work securely and redirect correctly for US users. 
  • Test IAP flows in non-US regions using sandbox accounts in App Store Connect. 
  • Check edge cases, such as failed transactions, region switches, or network issues, to ensure robust handling. 
  1.  Stay Compliant

Apple’s guidelines require transparency: 

  • US: Indicate external payments, use HTTPS, comply with CCPA. Entitlement ensures compliance. 
  • Non-US: Use IAP for digital goods unless regional laws allow exceptions. Avoid external links to prevent rejection. 
  • Global Compliance: Meet GDPR, CCPA standards. 

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 talk apps? Reach out to our team today and we’d be more than happy to talk or provide some signposting or advice on best practices!  

LETS TALK.

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.