Converting a Website to a Mobile App: Apple IAP Requirements, Capacitor vs Expo, and the Stripe Workaround

Fazm Team··3 min read

Converting a Website to a Mobile App: Apple IAP Requirements, Capacitor vs Expo, and the Stripe Workaround

You built a web app. Now you want it on the App Store. Sounds simple - just wrap it in a native shell, right? It is, until you hit Apple's in-app purchase requirements. Then everything gets complicated.

The Apple IAP Problem

Apple requires that any digital goods or services sold within an iOS app use Apple's In-App Purchase system. That means Apple takes a 15 to 30% cut of every transaction. If your web app charges $10/month through Stripe, Apple wants $1.50 to $3.00 of that.

You cannot simply show a Stripe checkout inside your iOS app. Apple will reject it during App Store review. The only digital goods exempt from this rule are physical goods and certain "reader" apps that consume content purchased elsewhere.

The Stripe Web Subscription Workaround

The workaround is straightforward - do not sell subscriptions inside the app. Instead, let users subscribe on your website through Stripe, then authenticate in the app to access their subscription. The app checks subscription status via your API but never handles payment directly.

This is allowed under Apple's rules. The catch is that you cannot link to your website for purchasing from within the app. Users need to find your website on their own. Many apps handle this through email onboarding flows or by making the web signup the primary path.

Capacitor vs Expo

For wrapping your website, two main options exist. Capacitor takes your existing web code and wraps it in a native WebView with access to native APIs. Setup takes hours, not weeks. It is the right choice when you want to ship fast and your web UI already works well on mobile.

Expo is a React Native framework. It gives you a truly native feel with native UI components, but requires rewriting your frontend in React Native. The result looks and feels better, but the development time is significantly higher.

Which to Choose

If speed matters and your web app is already responsive, start with Capacitor. Get on the App Store quickly and validate that mobile users actually want your product. If they do, consider rebuilding in Expo for a native experience later.

If you are building a product where the mobile experience is core - not just an afterthought - start with Expo from day one. The upfront investment pays off in user experience.

Fazm is an open source macOS AI agent. Open source on GitHub.

More on This Topic

Related Posts