How can apps legally avoid Apple's in-app purchase fees?
Apps avoid Apple's fees by selling the subscription on their own website, where Apple's commission doesn't apply. The customer pays on the web, and the app unlocks the same plan when they sign in. Apple has always allowed customers to use something they bought elsewhere inside an app. What changed is how openly you're allowed to point them there.
The savings are large. Apple's standard commission is 30 percent. Its Small Business Program cuts that to 15 percent for developers who earned under $1 million in the previous year, and subscriptions also drop to 15 percent after a subscriber's first year. Google Play charges 15 percent on subscriptions and 15 percent on a developer's first $1 million of other sales each year. On a $59.99 annual plan, Apple keeps $9 at the 15 percent rate and $18 at the 30 percent rate. Stripe's standard US card rate of 2.9 percent plus 30 cents costs about $2.04 on the same sale.
The rules on linking out depend on where your customers are:
- In the United States, a court order in Epic Games' case against Apple took effect in May 2025. Since then, apps on the US App Store can include buttons and links that send people to a web checkout, and the order barred Apple from charging a commission on those purchases. Appeals over whether Apple may eventually charge some fee are still moving through the courts, so check Apple's current App Store Review Guidelines before you plan around paying nothing.
- On Google Play in the United States, the outcome of Epic Games' case against Google requires Google to let apps link to outside payment options. Google's fees for those programs have been changing, so check the current Play policy.
- Outside the United States, linking out from the app is limited to specific programs, such as Apple's option for reader apps and its alternative terms in the European Union, and those usually carry their own fees. Most apps there reach web buyers through email, their website, and ads rather than a button inside the app.
The work behind a web checkout is part product and part marketing. Someone has to decide which plans to sell on the web and at what price, build a page that makes paying on the web feel safe and quick, set up the products and prices in a payment processor, and make sure a purchase unlocks the app. Then someone has to send customers to the page and keep checking whether it's actually moving revenue off the app stores.
Most of that is marketing work, which makes it a good fit for an AI agent. Kite is an AI marketer. It researches your business, builds a growth strategy, and ships the work that brings you new customers. Here's how it builds and runs a web checkout for your app.
How Kite builds a web checkout for your app
Kite starts with what it already knows about your app from its research: your plans and prices, your customers, the competitors you're compared with, and your brand. It proposes which plans to sell on the web and the offer that gives customers a reason to choose it. Once you agree, it sets up the products, prices, and payment link in your Stripe account, builds the checkout page and the thank-you page, and gives your developers the details they need to connect the link to the app.
When the page is live, Kite writes the emails, website changes, and ad landing pages that send customers to it. It then reads the checkouts in Stripe and the visits on the page to see where buyers drop out, compares web sales with the in-app numbers you share, and proposes the next change.
- Decide which plans to sell on the web and at what price
- What should a web checkout page for app subscriptions include?
- Set up the products, prices, and payment link in Stripe
- Can I link to a web payment page from my iOS app?
- Send customers to the web checkout from outside the app
- Measure web sales against in-app sales and improve the checkout
Decide which plans to sell on the web and at what price
Kite decides what goes on the web checkout by asking where the fee savings matter most and what will make customers switch. Annual plans usually come first. They carry the largest single payments, so they save the most per sale, and a customer who commits for a year on the web stays off the app store's books for that whole year.
Kite also proposes a reason to buy on the web, because a customer who already has Apple Pay one tap away needs one. The most common reason is a lower price, which you can afford because you keep more of each sale. Say your annual plan is $59.99 in the app and you keep about $51 after Apple's 15 percent. Selling it for $49.99 on the web leaves you about $48.24 after Stripe's fees, nearly the same amount, with a price that's easy for customers to notice. Other reasons include a longer free trial, a bonus feature, or an annual plan that the app doesn't offer at all.
Kite checks the plan against what you've already told customers before it settles anything. If your website lists the annual plan at $59.99 but the app store shows $69.99, Kite points out the difference and asks which price is right.
What should a web checkout page for app subscriptions include?
A web checkout page for an app subscription should tell the customer what they're buying, why to buy it here, and what happens after they pay. Kite writes and builds the page in your brand's voice and visual style, and it usually includes:
- The plan and its full price, with the billing period and the renewal terms written plainly. If the web price is lower than the app's, the page says so and shows both.
- What the plan unlocks in the app, using the same feature names customers see in the app.
- A short line on why paying on the web is safe. The page names Stripe as the payment processor and explains how to cancel, so the customer isn't left wondering why they're leaving the App Store.
- A buy button beside the price and again near the bottom of the page. It opens Stripe's own checkout, which shows Apple Pay and Google Pay on devices that support them, so paying takes about as long as it does in the app.
- A thank-you page that tells the customer to sign in to the app with the same email address and includes a button that opens the app.
Phones get special attention, because most visitors to an app's checkout arrive on one. Kite keeps the price and the buy button on the first screen a phone shows, and it checks the page on small screens before asking you to publish.
On a website Kite hosts, it builds the page there, and you can preview it before it goes live. If your site runs on Webflow, Kite publishes the page through your connected Webflow account. For a site hosted anywhere else, Kite gives you the page copy, the payment link, and the places on the page each button should point.
Set up the products, prices, and payment link in Stripe
Kite sets up the checkout in your own Stripe account, so the money and the customer records are yours from the first sale. It searches your existing products and prices first, so a plan you already sell on the web isn't created twice. When nothing matches, it creates the product with its customer-facing name and description, adds a recurring price with the right amount and billing period, and creates a payment link for it.
Kite sets up the link's checkout options to match the offer. A subscription checkout says subscribe on its button, collects only what the purchase needs, and turns on the promotion code field when your campaign uses a code. Kite can also create the coupon and promotion code in Stripe, such as 30 percent off the first year for existing app subscribers who switch. After payment, the link sends the buyer to the thank-you page.
Can I link to a web payment page from my iOS app?
Yes, if the customer is in the United States. Apple's current US rules let an app show a button or link that opens your web checkout. Outside the United States, you can link out only through Apple's specific programs, so check which ones apply to your app before adding the button.
The button itself is a job for your developers, and Kite gives them what they need. That means the payment link URL, the wording for the button and the line beside it, and the way to tell Stripe who's paying. A Stripe payment link accepts the customer's account ID and email address as additions to the link's address. When the app adds them, the purchase arrives in Stripe already tied to the person who made it, and your app can unlock their plan as soon as Stripe reports the payment. Subscription tools such as RevenueCat can also connect Stripe purchases to app accounts if your developers already use one.
Kite writes the in-app wording to fit Apple's rules and your brand. A line like "Save $10 a year when you subscribe on our website" gives a clear reason to tap, and it states a fact the customer can check on the page.
Send customers to the web checkout from outside the app
Most of the fee savings come from customers who reach the web checkout without ever opening the app's purchase screen. That's why Kite treats the checkout as a destination for your marketing, not only as a link inside the app. It looks for the places your customers already hear from you and proposes how each one can point to the web checkout.
That can include:
- An email to your current subscribers, offering the web price or a switching discount. Kite writes it, and once you approve it, sends it from your Kite team address or your connected email product. Subscribers who switch need to cancel their App Store subscription themselves, so the email explains how to do that.
- Changes to your website, such as a pricing page that shows the web price and a subscribe button in the main navigation.
- Landing pages for paid ads. Many apps run ads that send people to a web page first, where they choose a plan and pay before they download the app. Kite researches the ads your competitors run, writes the ad copy, and builds the landing page that leads into the checkout.
- Posts and creator briefs that link to the web offer instead of the app store listing.
You approve each email, page, and post before it goes out.
Measure web sales against in-app sales and improve the checkout
Kite measures the web checkout by how much revenue moves off the app stores, not only by how many people visit the page. It reads your Stripe checkout sessions to see how many buyers opened the checkout, how many finished paying, and which plan they chose. On a page Kite hosts, its built-in analytics count the visitors and the clicks on each buy button, so Kite can tell a page that doesn't get clicks apart from a checkout that loses buyers after they click.
Your in-app sales live in App Store Connect and Google Play Console, which Kite doesn't connect to. Share an export of those numbers, or the totals from a tool like RevenueCat, and Kite puts the two side by side. That shows what share of new subscriptions now come through the web and how much you saved in fees that month.
Kite also reads cancellations and refunds in Stripe, because a discount that brings in buyers who refund in the first week isn't a win. Then it proposes the next change. If many buyers open the checkout and leave, Kite might suggest showing the annual price as a monthly amount or removing a field the checkout doesn't need. On a page Kite hosts, it can test two versions against each other, asking for your approval before the test starts and again before it makes the winning version permanent.
For more on testing what buyers see at checkout, see Test offers at checkout and Test your pricing and pricing page.
What you get
A web offer
The plans Kite recommends selling on the web, the price for each, and the reason it gives customers to buy there, with the fee math behind the recommendation.
A web checkout page and thank-you page
A page built for phones that names the plan, the price, and what it unlocks, opens Stripe's checkout, and sends buyers back to the app afterward.
Products, prices, and a payment link in your Stripe account
Set up for subscriptions, with any coupons and promotion codes your campaign uses.
A brief for your developers
The payment link, the wording for the in-app button, and the details the app adds to the link so each purchase is tied to the right account.
The messages that send people to the checkout
Emails to current subscribers, website changes, ad landing pages, and posts, each ready for your approval.
A monthly comparison
How many people started and finished checkout on the web, what share of new subscriptions came through it, and how much you saved in fees.
How to get started
Tell Kite what you want in plain language, in the Kite web app or in Slack. You might say, "Build a web checkout for our annual plan so iPhone users can subscribe without the App Store fee," or "Our App Store fees are eating our margin. Help us move subscribers to the web."
Kite proposes the plans, the web price, and the offer, with the reasoning and the fee math. Change anything you like and confirm it. Kite then sets up the products and payment link in Stripe and builds the page for you to review.
Connect your Stripe account through OAuth so Kite can create the products, prices, and payment link and read the checkouts that come through it. If your website runs on Webflow, connect it so Kite can publish the page there. Kite asks before it publishes a page, sends an email, or posts anything.
Integrations used to build a web checkout
Kite builds and hosts the checkout page itself when it runs your website, and it writes the emails and pages that send people there. Stripe is where the sale happens and where Kite reads the results.
Common questions
Does Google take 30 percent of in-app purchases?
Not on most purchases anymore. Google Play charges 15 percent on subscriptions and 15 percent on a developer's first $1 million of other sales each year, and 30 percent on other sales above that amount. Google's fees for linking out to your own checkout in the United States have been changing since the court ruling in Epic Games' case, so check the current Play policy before you plan your Android web checkout.
Can I charge a lower price on the web than in the app?
Yes. You set the price on your own website, and nothing requires it to match the app store price. A lower web price is the clearest reason for a customer to buy there, and you can usually offer one because you keep more of each sale. In the United States, your app can also tell customers about the lower web price.
Will customers trust a web checkout more or less than the App Store?
Customers trust the App Store because they know how to cancel and their card is already saved there. A web checkout earns the same trust by being just as easy. Kite uses Stripe's checkout, which shows Apple Pay on supported iPhones and Macs, and it puts a short explanation of how to cancel on the page. When the checkout is quick and the cancellation terms are clear, most of the hesitation goes away.
Can existing App Store subscribers move to the web checkout?
Yes, but they have to cancel their App Store subscription themselves, because only the customer can cancel it. The cleanest time to ask is shortly before their next renewal, so they don't pay twice. Kite writes the switching email with a clear reason to move, such as a lower price or a discount on the first web year, and simple steps for canceling the old subscription.
Does a web checkout work for Android apps too?
Yes. The same Stripe checkout page works for customers on any phone or computer, and your Android app unlocks the plan the same way when the customer signs in. The rules on linking from inside the app differ between Apple and Google, so your developers should check each store's current policy before adding the button.
