最近在做微信订单被用户投诉了,想让微信抄送消息给到我们自己的api,然后我们接受后推送消息到飞书(当然也可以钉钉或者其他)
报错信息:“应答的微信支付签名验证失败”
https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter6_2_3.shtml
问题分析:这个问题是证书导致的,不应该是商户证书,应该是平台证书
- 确保你已经安装了 扩展 (wechatpay-guzzle-middleware)
https://github.com/wechatpay-apiv3/wechatpay-guzzle-middleware
格式:
php vendor/wechatpay/wechatpay-guzzle-middleware/tool/CertificateDownloader.php -f 你自己的key路径(apiclient_key.pem) -k (这个是你自己填写的apiv3密匙不是v2) -m (填商户号) -o 这个事生成的路径他会生成一个文件你存在哪里 -s 商户API证书序列号这个在微信后台找就ok了
示例:
php vendor/wechatpay/wechatpay-guzzle-middleware/tool/CertificateDownloader.php -f public/apiclient_key.pem -k muuu4e654977ddd3f2448dd0c1f54433987 -m 1631642900 -o /Users/mac/Downloads/ -s 564689765E6BD58DE51F6F12C99C563BCD8A32134A8
最后生成出来的事一个类似于这个的东西
wechatpay_2C8EBB2F0D526E9F4399DC3F2D450F6E09512854.pem
其他:微信回调验证和回调数据处理
https://pay.weixin.qq.com/wiki/doc/apiv3/wechatpay/wechatpay4_1.shtml