Rivya AI 文档

Rivya 支付与结账指南

了解 Rivya 套餐和积分包结账、Stripe 成功回跳、/payment 中转页、webhook、账单状态更新,以及购买后去哪里核对。

最近审阅于 2026/04/28

当你需要理解购买套餐或积分包之后 Rivya 会发生什么时,先看这篇支付与结账指南。

Rivya 的支付流程里,最容易让人误会的一点是:

Stripe 那边显示支付成功,并不代表产品这边已经完全结束。

用户真正会感受到“完成”的那一刻,取决于 Rivya 自己有没有把状态同步好。

这条支付链路实际上分三段

更准确的理解方式是把支付拆成三段:

  1. Rivya 创建支付会话
  2. 用户完成 Stripe 结账
  3. Rivya 等待自己的产品状态重新变得可信

第三段,正是 /payment 存在的原因。

支付是从哪里开始的

当前结账主要会从这些地方发起:

  • 价格页
  • /settings/billing
  • /settings/credits

从业务上看,主要有两种购买形态:

  • 订阅套餐
  • 一次性积分包

虽然它们是不同类型的购买,但在用户体验上,最终都会汇聚到同一条确认路径。

套餐结账和积分包结账很像,但不完全一样

套餐结账是订阅形态。

积分包结账是一次性补充钱包额度的形态。

这个差异很重要,因为支付完成后,Rivya 需要知道自己应该优先刷新的是:

  • 订阅状态
  • 还是钱包状态

所以同样是从 Stripe 成功回来,最后回到产品内部的位置也可能不同。

/payment 到底为什么存在

/payment 不是传统意义上的收据页。

它更像一条处理中转桥。

它负责做这些事:

  • 读取 Stripe 返回的 session_id
  • 检查产品侧支付记录是否已经确认完成
  • 如果还没好,短时间继续轮询
  • 只有状态足够可信时,才把用户送回正确页面

所以它本质上更像一条“状态同步页”,而不是一个普通内容页。

从产品角度看,什么时候才算真的支付完成

从用户角度看,Stripe 显示成功,支付好像就结束了。

但从产品角度看,真正完成还要满足这些事:

  • 支付记录已经被标记成 paid 或 completed
  • 订阅或钱包变化已经在 Rivya 里变得可见
  • 用户回到账单页或积分页时,不会先看到旧状态

这也是为什么产品不会在用户一回到站内时,就立刻把人扔回去。

为什么已经有 /payment,webhook 仍然是核心

/payment 并不替代 Stripe webhook。

真正负责更新持久化后台状态的,仍然是 webhook。

/payment 的存在意义,是在用户体验层面等待这件事足够完成,再把用户送回应用内部。

你可以把这两件事拆开理解:

  • Stripe 负责钱有没有动
  • Rivya 负责产品里有没有真正反映出来

支付之后,用户会被送回哪里

回跳目标是跟着“刚刚变化的东西”走的。

如果买的是订阅套餐,通常会回到账单页。

如果买的是积分包,通常会回到积分页。

这不是视觉层的小设计,而是在对齐用户支付后的真实问题:

  • 我的套餐更新了吗?
  • 还是我的钱包更新了吗?

超时或失败到底意味着什么

如果 /payment 进入超时或失败状态,并不自动等于“支付丢了”。

很多时候,它只是意味着下面这些情况之一:

  • 产品侧支付记录还没真正确认完成
  • 当前回跳正在等的状态还没追上来
  • 如果现在过早把用户送回去,他看到的仍然会是旧状态

所以超时页其实比“假装成功”更清楚。它至少明确告诉用户:还没确认好的,是产品状态,不一定是付款本身。

支付后最稳的确认顺序

支付结束之后,更稳的检查路径通常是:

  1. 先让 /payment 自己跑完
  2. 如果买的是套餐,就看 /settings/billing
  3. 如果买的是积分包,就看 /settings/credits
  4. 如果账号状态看起来还是不对,再去 通知中心 看看

这通常比在几个页面里来回刷新猜测更有效。

支付也会变成账号记忆的一部分

支付不只是结账动作,它也会变成账号层的事件记录,比如:

  • 订阅开通
  • 订阅续费
  • 支付失败
  • 积分包到账

这也是为什么通知系统在这里仍然重要。关掉 Stripe 标签页,不代表账号层的故事结束了。

一个更好记的理解方式

可以直接这样记:

  • Stripe 负责钱的动作
  • /payment 负责把你安全带回产品里的正确页面

把这两层分开理解,整个结账流程就会清楚很多。

下一步建议

结账状态检查清单

当一次购买看起来没有完成或状态混乱时,先判断:

  • 先确认 Checkout 从哪里开始:公开价格页、账单设置页,还是积分设置页。
  • 检查 Stripe 是否完成支付,并把用户带回 /payment。
  • 等 Rivya 刷新订阅、积分包、invoice 和钱包状态后,再启动新的付费任务。
  • 订阅问题看 billing,积分包和钱包历史看 credits。
  • 不要把浏览器跳转本身当成 webhook 和账号状态已经落定的证明。

重新支付前先复核

如果用户看到旧套餐、积分没到账、重复 Checkout 窗口、支付失败,或 Stripe 已成功但 Rivya 内还没体现,先复核再重试支付。

目录