设计晨报 往期
← 10月28日
交互与体验

小程序支付成功但页仍「待支付」:状态机+轮询+超时出口,别把弹窗 success 当终态

支付/开通页绝不能把客户端弹窗 success 当终态:先切「支付中」、再轮询服务端确认,超时必须给可理解出口与订单入口。

工程实践复盘(2026-10-23):用户微信支付弹窗已成功,页面却停在待支付,刷新后才变已支付——根因是前端把 wx.requestPayment 的 success 当成最终结果,而服务端回调可能晚数秒。做法:订单状态收敛为待支付/支付中/已支付/已取消/已退款;弹窗成功后先切「支付中」再查服务端,服务端回调外也主动查单二次确认;按 1s、2s、3s 间隔最多轮询 5 次,超时展示「支付处理中,请稍后查看订单」并提供订单号、刷新按钮和订单入口,避免无限转圈。

文章标注 2026年10月23日,逐步写清状态机、轮询节奏与超时降级;另有更新于 2026-10-27。

为什么值得看

中文移动/小程序支付复杂业务一手:状态可见与终态确认的边界,可对照会员开通、订单支付与退款页的等待与降级文案。

可以试试

对照自家支付成功页:是否仍在弹窗 success 后直接跳「已完成」;超时是否只有转圈没有订单号与刷新入口。

原文