Cross-platform subscriptions with one entitlement across every store
StoreKit 2 and Google Play Billing feeding a single source of truth.
Native purchase flows with StoreKit 2 and Google Play Billing, server-side JWS verification, and one entitlement synced across iOS, Android, tvOS, and web. Day rate: €500.
Vendredi App · Repair order
Nº ····
Drop-off
Your day, 9:00
Ready
19:00
You collect
The fix running on your phone, and the change in your source code.
Remote day rate
€500excl. tax
I have implemented native in-app purchase and subscription flows with StoreKit and Google Play Billing, including server-side verification and entitlement syncing.
You collect
- Native StoreKit 2 purchase and subscription flow on iOS/tvOS with JWS verification
- Native Google Play Billing flow on Android with Real-time Developer Notifications
- One entitlement source of truth synced across iOS, Android, tvOS, and web
- Restore purchases, free trials, and server notification handling for renewals and cancellations
Repair order
Two billing systems that do not match
StoreKit 2 and Google Play Billing model products, receipts, and server notifications differently. Apple gives you signed transactions and JWS, Google gives you purchase tokens and Real-time Developer Notifications, and the product setup in each console follows its own rules. I build the native purchase flow on each side so it follows the platform's intended pattern, then map both into a single internal model your backend understands.
One entitlement, every platform
A user who subscribes on iPhone expects to be subscribed on their Android tablet, their Apple TV, and the website. That only works if entitlement lives on your server, not inside one app. I wire both stores to a single source of truth so access is consistent everywhere, and so the app asks your backend what the user can access rather than guessing from a local receipt.
Server-side verification and notifications
Trusting the client alone invites fraud and breaks on refunds. I implement server-side verification of Apple's JWS transactions and Google's purchase tokens, and handle the server notifications that report renewals, cancellations, billing retries, and refunds. This keeps entitlement accurate even when the change happens outside the app, for example when a user cancels from the store settings.
Trials, restores, fees, and RevenueCat
Free trials, introductory offers, and restore purchases each have platform-specific behavior that confuses users when done wrong. The store fee is also real: roughly 15 to 30 percent depending on program and tenure. I implement these flows directly, and if you prefer, integrate RevenueCat to centralize receipts and reporting. I will give you an honest view of when RevenueCat saves time and when going direct is simpler.
Frequently asked questions
The flat day rate is €500, remote, with no agency markup. Note this is the development cost; the store fee of roughly 15 to 30 percent is separate and paid to Apple or Google.
Yes. I often pick up an app with a half-working purchase flow and fix verification, restores, or entitlement sync. I review the current StoreKit or Billing code before proposing changes.
Either. I can wire StoreKit 2 and Google Play Billing directly to your backend, or integrate RevenueCat if you want centralized receipts and analytics. I will tell you which fits your case.
Entitlement lives on your server as a single source of truth. Both stores report to it through verified transactions and server notifications, so iOS, Android, tvOS, and web all see the same access.
Yes. I verify Apple's JWS transactions and Google's purchase tokens on the server and process the renewal, cancellation, and refund notifications, so entitlement stays correct even for changes made outside the app.
Yes. I implement free trials, introductory offers, and restore purchases following each platform's rules, and test them on real accounts so users do not get stuck or double-charged.
Your next ticket
The next free day is on the calendar. Start with a free call if you want to talk it through first.
Book a free 20-min callOr leave a note at the counter
Describe your project. I answer right away in the chat when I am available, within 24 hours otherwise.