支付回调验签失败
Closed this issue · 6 comments
tashuo commented
运行环境
- OS: CentOS 7.9.2009
- PHP: 7.4.5
- Laravel: 8.12
- wechatpay-php: 1.4.8
描述你的问题现象
- 依照文档示例中"回调通知"章节写了一个支付回调的接口
$inBody = file_get_contents('php://input')
body使用的这个方式获取- 现在验签
$verifiedStatus
一直通过不了,试着将相关的资源配置及请求数据打印出来,未看到明显的异常,请问该如何调试?
tashuo commented
但是后面的aes可以正常解密,是不是微信支付证书不匹配的问题
TheNorthMemory commented
Lines 372 to 412 in fbe8d7c
验签需要从头上取Wechatpay-Serial
,其就是平台证书序列号,需要加载先行下载的平台证书并加载验签名。请试着理解这段样本代码先。
tashuo commented
Lines 372 to 412 in fbe8d7c
验签需要从头上取
Wechatpay-Serial
,其就是平台证书序列号,需要加载先行下载的平台证书并加载验签名。请试着理解这段样本代码先。
这个逻辑有处理的,目前的平台证书用的固定一个(同下单逻辑),回调请求中的Wechatpay-Serial
跟固定使用的那个平台证书序号也一致
tashuo commented
暂时去掉了验签逻辑,因为回调数据解密后还会请求查询订单接口验证状态,所以暂时影响也不大
TheNorthMemory commented
暂时去掉了验签逻辑,因为回调数据解密后还会请求查询订单接口验证状态,所以暂时影响也不大
程序代码都已经为你甄别出来了问题,有问题就去解决掉;回避问题抑或延后处理都不是严谨的处事方式,尤其在支付领域。
TheNorthMemory commented
Good luck dude.