Currently, we offer a mobile app, but it’s not possible to sell subscriptions through Creem within the app. This isn’t due to any technical limitations—it's because of app store policies.
---
## The Problem
Apple (section 3.1.1) and Google Play both require that any digital subscriptions used within an app must use their own billing systems. Hosted web checkouts are not allowed for this purpose. This leaves us with only a few options:
- Ship the app without any way to upgrade, directing users to a browser instead. (This hurts conversion rates, and on iOS could even jeopardize app review.)
- Build and maintain our own parallel subscription infrastructure using both StoreKit and Play Billing, and then match that up with Creem’s system.
- Don’t offer subscriptions on mobile at all.
The 2025 US ruling allowing link-outs will help, but only applies to one storefront, and elsewhere, in-app purchase (IAP) requirements remain strict. So, simply linking to a web checkout isn't a global solution.
---
## What We Actually Need
Processing the payment is straightforward. The real challenge is maintaining a single, reliable source of truth for entitlements, meaning:
- Supporting users who subscribe on the web and later install the app, and vice versa.
- Handling upgrades, downgrades, proration, and cancellations originating from either platform.
- Managing refunds, payment retry logic, and grace periods, all of which are reported asynchronously by app stores.
- Implementing server-side receipt validation along with handling App Store Server Notifications V2 and Google Play’s Real-Time Developer Notifications.
Without these, we would have to juggle two separate subscription systems and guess which one is correct when there are discrepancies.
---
## What’s the Minimum Useful Solution?
Even without a full SDK, the following would unblock us:
- Accept and validate App Store and Google Play receipts against an existing Creem customer account.
- Trigger the same webhooks for store-based subscriptions as we do for web-based ones.
- Provide a unified view of each customer’s entitlement, no matter where they subscribed.
Full integration with RevenueCat would also be an acceptable alternative.
---
## Why This Matters
More and more, customers choose to subscribe via mobile. Without proper support for in-app subscriptions, Creem ends up functioning as a web-only processor for teams with apps. This is often a dealbreaker when companies are choosing a payments provider—they’ll go with someone else at the critical moment, rather than coming back to add this feature later.
