直接回答
账单页面有一个"从 Creem 同步"的操作,它会直接从 Creem 重新读取订阅的真实状态,并更新账号本地记录使其保持一致,而不是被动等待这个更新自动到达。它存在的原因是:账单状态平时是靠 Creem 发来的 webhook 事件保持最新的——在极少数 webhook 延迟或丢失的情况下,账号显示的套餐可能会短暂落后于 Creem 那边实际的真实状态。同步会按需补上这个差距,而不是干等下一个 webhook。
为什么本地账单状态会出现过期的情况
应用不会在每次加载页面时都去问 Creem 一遍账单状态——它把当前套餐存在本地,只在 Creem 发来 webhook 通知有变化时(结账完成、升级、取消)才更新这份记录。这种设计在正常情况下又快又可靠,但也意味着本地记录的新旧程度,取决于它最后一次成功收到的 webhook。
什么时候该用同步,而不是干等
如果刚完成一笔付款,或者刚完成一次升级,稍等片刻之后显示的套餐还停留在旧状态,同步就是最直接的解决办法——它能立即消除这种不一致,而不是让账号继续等 webhook 重试。相比重复尝试结账或升级,同步是更快、更可靠的路径,因为如果原来那笔操作其实已经成功了,重复操作有造成重复扣款的风险。
同步是从 Creem 读取,不会改变 Creem 那边的任何东西
同步是单向的——它把 Creem 那边的真实状态拉取到账号本地,不会把本地状态推送回 Creem,也不会触发任何账单操作。只要账单状态看起来不对,随时用同步都是安全的,因为它只会纠正一份过期的本地记录,不会导致意外扣款或取消订阅。
常见错误
- 明明是本地记录过期,同步一下就能立即解决,却选择重试结账或升级。
- 不知道有同步这个功能,遇到状态不一致就去联系客服,而不是自己动手一次同步就能更快解决。
- 以为同步会改变 Creem 那边的任何东西——它只是读取和核对,不会执行任何账单操作。
自查清单
- 如果付款或升级之后显示的套餐状态看起来不对,先试试同步,再考虑重试付款操作。
- 理解同步对 Creem 是只读的——账单状态看起来过期时,随时用都是安全的。
- 给 webhook 一点自然到达的时间窗口,再判断是不是真的需要同步;大多数更新几分钟内就会到。
操作准则
"已付款"和"页面显示"对不上,几乎总是本地记录过期,而不是付款失败——该做的是同步,不是再扣一次款。