服务公告
支付回调的验签与防重放
发布时间:2026-09-12 11:53
## 概念是什么 支付回调是支付平台在交易状态变化时主动通知你的接口。它是最诱人的门:攻击者伪造一条支付成功通知,如果接收端不校验,订单就直接标记为已支付。验签是确认通知确实来自支付平台,防重放是确认这条通知没有被截获后重复利用。 ## 背后原理 验签依赖非对称机制:支付平台用私钥对通知内容签名,接收端用平台公钥验证,内容被篡改或来源伪造都会验证失败。防重放依赖时间戳与唯一流水:签名内容里包含时间信息,接收端拒绝超出时间窗口的通知;同一通知的重复到达靠幂等处理,以支付平台的交易流水号作为唯一键,第一次处理入账,后续重复通知直接返回成功,不再重复加款。 ## 最小实操 四个动作。验签放在业务处理之前,验不过直接拒绝;金额与订单号从通知里取出后与本地订单核对,不一致按异常处理;处理逻辑以流水号为键做幂等,数据库唯一约束兜底;回调地址不对外宣传但也不视为秘密,安全完全依赖验签而不是地址隐蔽。日志记录每次通知的验签结果与处理结果,对账任务挂在顺云云服务器的定时任务里,日结对账时逐条核对。 ## 常见错误 只验签不查金额,验签通过但金额被篡改的边界场景仍可能中招。幂等靠内存标记,重启后重复通知再次入账。验签失败仍返回成功,导致对账混乱。定时对账是最后防线,本地订单与支付平台账单日核对,差异逐笔查明。回调接口的可用性监控也要单独设置:回调若因网络原因进不来,订单状态就会滞后,用户端表现为支付成功却查不到记录。对回调接收成功率做告警,异常时主动从平台侧拉取对账文件补偿,双保险之下状态终会一致,体验与账目都保得住。上一篇: 控制台登录安全升级说明
下一篇: 数据跨境规则对中小企业的影响