## Summary - Native Capacitor: RevenueCat purchase/restore (`@revenuecat/purchases-capacitor`) - Web: Stripe checkout/portal unchanged - Billing history shows store rows (`provider` / `revenuecat_store`) - RC `logIn`/`logOut` on auth lifecycle; appUserID = user pk Closes #100. Depends on backend [chat_backend#68](ai_ml_operations/chat_backend#68) / monetization PR. ## Test plan - [x] Unit tests: BillingSection, revenueCat, finance helpers, SignIn/Up, AuthCallback, Header2, DeleteAccount (38 OK) - [ ] Fill `REACT_APP_REVENUECAT_*` keys in `.env.mobile` - [ ] Align RC offerings/products with plan slugs - [ ] `npm run build:mobile` + `cap sync`; sandbox purchase on Android/iOS - [ ] Confirm web Stripe checkout/portal still work - [ ] After RC webhook, Account → Billing history shows store invoiceReviewed-on: #102
13 lines
786 B
Bash
13 lines
786 B
Bash
# Mobile (Capacitor) production endpoints — same as .env.production by default.
|
|
# Override here to point Android/iOS shells at beta without changing web deploys:
|
|
# REACT_APP_BACKEND_REST_API_BASE_URL=https://beta.chatbackend.aimloperations.com/api/
|
|
# REACT_APP_BACKEND_WS_API_BASE_URL=wss://beta.chatbackend.aimloperations.com/ws/chat_again/
|
|
REACT_APP_BACKEND_REST_API_BASE_URL=https://chatbackend.aimloperations.com/api/
|
|
REACT_APP_BACKEND_WS_API_BASE_URL=wss://chatbackend.aimloperations.com/ws/chat_again/
|
|
|
|
# RevenueCat public SDK keys (native IAP). Leave empty until store apps are wired.
|
|
REACT_APP_REVENUECAT_APPLE_API_KEY=
|
|
REACT_APP_REVENUECAT_GOOGLE_API_KEY=
|
|
# Optional: pin a specific offering identifier (defaults to current offering).
|
|
# REACT_APP_REVENUECAT_OFFERING_ID=
|