支付成功了,站点为什么没到账

用户说付完了、站点还是未支付,多半不是“钱丢了”,而是回调没被你的系统正确收下。按下面顺序查,比反复切换通道更快。

1. 回调地址是否真的收到请求

确认回调 URL 是公网可访问的 HTTPS 或当前约定协议,没有被防火墙、CDN 校验或错误路径拦住。日志里要能看到原始通知、到达时间和你的响应码。

2. 验签和字段是否通过

核对签名、商户订单号、金额和支付状态。签名失败、金额不一致、订单不存在,都不要自动发货,放进人工复核。

3. 是不是重复通知被你丢掉了

第一次处理失败后,上游还会重试。如果你的接口报错,或者第一次已经把订单标成异常后直接忽略后续通知,就会表现为掉单。正确做法是:同一订单成功状态只生效一次,但失败后的有效成功通知仍然要能把订单改成功。

4. 用查单补回调

回调不是唯一来源。对超时未完成的订单做主动查询,用查询结果更新本地状态,并留下查询记录。处理完成后按约定返回成功响应,避免无意义重试。

密钥只放在服务端。日志不要打印完整密钥和可重放的签名原文。