
支付平台显示成功、WooCommerce订单仍待付款时,应先把交易与订单准确对应,再核对支付回调和订单日志。不要让客户直接重复付款,也不要只凭页面截图批量改为已完成。
先确认是同一笔交易
核对订单号、支付平台交易ID、金额、币种、支付状态和时间。授权、处理中、已捕获、退款等状态含义不同,“支付页面完成”不一定代表最终扣款完成。
客户截图可作为线索,但应以有权限查看的支付平台交易记录和订单记录进行核实。
回调与浏览器返回不是同一条路
浏览器付款后跳回网站,与支付平台服务器向网站发送webhook,是不同机制。用户关闭页面时,正确的服务器回调仍应能处理;返回成功页也不证明回调已处理成功。
在网关日志中查找对应事件、投递时间、响应码及失败原因。核对测试模式与正式模式、回调地址和签名配置,避免把两个环境混用。
为什么200也要继续看
接口返回200说明请求收到相应响应,但订单更新可能还受后续处理、事件类型或业务逻辑影响。应关联WooCommerce订单备注、网关日志及PHP错误,确认事件被正确识别并作用于目标订单。
站点迁移、HTTPS或域名变更后,旧回调地址、WAF挑战和重定向也可能导致投递失败。
重试前避免重复处理
修复后按支付服务官方机制重投对应事件,并确认网关具备幂等处理。不要无差别重发全部历史事件,也不要手工模拟未经签名验证的支付成功请求。
确需人工更新订单时,应先核实实际到账及履约状态,留下处理记录。已付款不一定应设为“已完成”,还要符合发货或服务流程。
怎样验收
使用支付服务支持的测试模式或受控真实测试,核对支付记录、webhook成功、订单状态和相关通知。再检查原异常订单是否已正确处理,避免技术修好后遗留业务问题。
WooCommerce的普通webhook设置就是支付回调吗? 不一定。支付网关通常有自己的接收端点和配置,应按具体网关文档核对,不能混用。
参考资料
相关问题
本文为通用排查指南,依据所列官方资料整理;菜单名称和行为可能随版本及主机环境变化。配图为AI生成的概念示意,不是实际故障截图。
