Buy on StoreKit and Play Billing, then confirm with the backend (#78) #122

Merged
westfarn merged 1 commits from feat/78-native-store-purchases into master 2026-10-19 04:38:43 -07:00
Owner

Summary

  • The Capacitor shell buys through StoreKit (iOS 15) and Play Billing instead of RevenueCat.
  • After the store sheet succeeds, the app POSTs the signed transaction or Play purchase token to /monetization/store/confirm/.
  • Restore reads current store entitlements and confirms each one. Web checkout stays on Stripe.
  • The store account token from GET /monetization/subscription/ is sent as appAccountToken / obfuscatedAccountId.

Depends on the chat_backend PR for issue #78 (feat/78-native-store-purchases).

Test plan

  • storeBilling, revenueCat, finance, and BillingSection unit tests
  • iOS sandbox purchase and restore against a backend with APPLE_IAP_BUNDLE_ID set
  • Play license-test purchase and restore against a backend with GOOGLE_PLAY_SERVICE_ACCOUNT_JSON set
  • Web billing still opens Stripe Checkout
## Summary - The Capacitor shell buys through StoreKit (iOS 15) and Play Billing instead of RevenueCat. - After the store sheet succeeds, the app POSTs the signed transaction or Play purchase token to `/monetization/store/confirm/`. - Restore reads current store entitlements and confirms each one. Web checkout stays on Stripe. - The store account token from `GET /monetization/subscription/` is sent as `appAccountToken` / `obfuscatedAccountId`. Depends on the `chat_backend` PR for issue #78 (`feat/78-native-store-purchases`). ## Test plan - [x] `storeBilling`, `revenueCat`, `finance`, and `BillingSection` unit tests - [ ] iOS sandbox purchase and restore against a backend with `APPLE_IAP_BUNDLE_ID` set - [ ] Play license-test purchase and restore against a backend with `GOOGLE_PLAY_SERVICE_ACCOUNT_JSON` set - [ ] Web billing still opens Stripe Checkout
westfarn added 1 commit 2026-10-19 04:14:46 -07:00
Native purchases replace RevenueCat. The app sends the signed transaction or Play token to /monetization/store/confirm/ so access is granted only after the store check.
westfarn merged commit 8b58192026 into master 2026-10-19 04:38:43 -07:00
westfarn deleted branch feat/78-native-store-purchases 2026-10-19 04:38:43 -07:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ai_ml_operations/chat_web_app#122