跳转到正文

English core guides · 历史记录保留中文

结账与账单管理 ​

升级流程 ​

工作台通过 useUpgradeSubscription() 调用 auth.subscription.upgrade(),传入 starter 或 pro。有活动组织时传组织范围,否则使用当前个人账号;插件在服务端检查管理权限并创建结账会话。

成功与取消回跳目前返回发起页面。回到网站后要重新查询订阅状态,不能仅凭网址里出现成功参数授予付费能力,支付结果以已验证的事件同步为准。

账单管理 ​

useBillingPortal() 调用 auth.subscription.billingPortal() 打开 Stripe 客户门户。需要在 Stripe 配置门户允许的套餐修改、取消和资料更新功能。

前端两个操作都检查 Better Auth 返回的 error 并转为错误状态。不能丢弃返回错误,否则按钮看似执行却没有任何跳转。

权限 ​

个人订阅由本人管理。组织订阅由当前真实成员中的所有者或管理员管理,普通成员不能靠手动发请求绕过。canManage 用于界面展示,authorizeReference 是服务端执行边界。

测试步骤 ​

  1. 以个人账号在测试模式升级,核对金额与回跳。
  2. 完成回调同步,再检查数据库与工作台套餐。
  3. 取消结账,确认没有错误授予套餐。
  4. 用组织所有者、管理员和普通成员分别操作。
  5. 从门户取消或修改,等待事件同步并重新查询。
  6. 测试网络失败和重复点击,确认不会重复创建业务权益。

本地页面可见与模拟账单查询只证明代码路径,外部测试流程仍需单独完成。

供语言模型读取:llms.txt · llms-full.txt
采用 MIT 许可证。