订阅
将 Web 与应用商店购买统一为账户级权益快照。
Unified 权益与账户绑定。宿主为每个 Better Auth 用户维护一条权威订阅快照;客户端读取 isEntitled,不重复实现权益计算。
购买路径
| 产品端 | Provider 路径 | 共享结果 |
|---|---|---|
| Web 宿主 | Creem 或 Stripe Webhook | 更新宿主订阅快照 |
| Swift / Expo iOS | RevenueCat + App Store | RevenueCat Webhook 更新同一快照 |
| Kotlin / Expo Android | RevenueCat + Google Play | RevenueCat Webhook 更新同一快照 |
| Electron / Tauri | 宿主支付 | 打开验证后的 Provider 支付并刷新快照 |
购买前先刷新权威快照,有有效权益时阻止从另一个渠道重复购买。Webhook 必须验证签名或 Authorization,显式映射产品 ID,并处理重复或乱序事件。
管理入口取决于当前 Provider:Web 购买使用宿主 Portal,移动端购买使用 RevenueCat 或商店管理页,无可用入口时显示明确状态。
不要把 Supabase 订阅状态与 Unified Better Auth Session 混用。Backend、RevenueCat identity、购买保护和权益缓存必须一起切换。
