订阅状态设计与 Supabase 数据同步
Stripe 是订阅事实来源
在本方案中,用户是否订阅,订阅状态(active / canceled / past_due),当前周期时间,支付是否成功 都以 Stripe 为准。
Supabase 中的数据表 同步必要状态,用于业务展示和权限控制
至于为什么不能只用本地数据库?
因为支付是异步过程,订阅状态可能随时间变化(续费、失败、取消),使用 Stripe 回调触发状态变更更合理
Supabase 中需要存哪些字段
在实际项目中,我们通常只同步“最小必要字段”。 例如:
# 当前订阅状态(active / canceled / past_due)
subscription_status
# 当前订阅套餐
price_id
# 当前周期结束时间
current_period_end
# Stripe Customer ID(用于关联)
customer_id
# Stripe Subscription ID(用于后续操作)
subscription_id