This article was originally published on Jo4 Blog .
I had Stripe working perfectly. Web dashboard payments, team billing, subscription upgrades and downgrades - all handled. Users happy. Revenue flowing.
Then I submitted my React Native app to the App Store.
The Problem
Apple's App Store Review Guideline 3.1.1 is clear: if your app offers subscriptions and the user can subscribe in the app, you must use Apple's In-App Purchase system. No exceptions. No "just link to your website." If you show a paywall, it goes through Apple.
This means:
Apple takes 15-30% of every transaction
You can't use your existing Stripe flow on iOS
You need a second billing system running in parallel
Both systems must keep the same user's subscription state in sync
I'd heard of RevenueCat as the standard way to handle this.…