以下是回调头部信息,
host:www.fakeurl.com
x-real-ip:101.226.103.14
x-forwarded-for:101.226.103.14
connection:close
content-length:895
user-agent:Mozilla/4.0
accept:*/*
wechatpay-nonce:ADHiheQmV4DKfQmyBD5rajVzep3JSB6g
content-type:application/json
wechatpay-serial:26ABDA3DB75FBFDDE18D210DED39E9BE199E5969
wechatpay-signature:SiE3u1M/TdLqxjCz5iL89GYjO3mEmEEIOLErgrWpr/GW7W7nxOcHk70H7UTsnJSFBSlxJIJJNTAHmtElAFCnC90DIcm1Z2xHigG6nerbYqqrdqEzbKBPYB8dZrdBPlbb7KMzXAxSUk4ENkgo3AWUg+nM6xv8HGbjjEA3t1kGDcEyXia93LsJ7w/WaNxiCYYOzk2B+XSDRcSkd22H3Fg7JgEg4vms17BgNLILE514Nl5GJpQ1TZ/XDDxFRwB4KpcEKmHn3LltXT3iT32j3Rj/jx6FEusAMKnO0qPNvN196XzlmP9Ud3xSbuAAPX3AJaIkajvyzvN9LGytOIbLHSylDQ==
wechatpay-signature-type:WECHATPAY2-SHA256-RSA2048
pragma:no-cache
wechatpay-timestamp:1709945951
我用微信官方的验签工具也是不通过的,我对比了下,微信支付sdk里面log日志中的验签串,发现头部参数wechatpay-nonce跟我这个不太一样,
以下是微信官方sdk返回的日志信息
Message for verifying signatures is[1709945848
66c80e92854c3af5aaf839e6b52aa769
{"code_url":"weixin://wxpay/bizpayurl?pr=85Ir1eHzz"}
]
官方的wechatpay-nonce值为:66c80e92854c3af5aaf839e6b52aa769
我这个回调中的wechatpay-nonce值为:ADHiheQmV4DKfQmyBD5rajVzep3JSB6g
发现sdk中的nonce值都是16进制串,而我这个是随机字符串,是不是因为这个问题,才导致验签失败的?
微信官方的这个我用验签工具是通过的,回调中的验证不通过,肯定不是我证书或者配置问题,目前已经研究两天,实在是找不到问题了
以下是微信官方返回值进行验签结果:
以下是我的回调的验签结果:
可能是这个问题