收藏
回答

微信支付V3接口 支付回调签名验证失败

以下是回调头部信息,

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-typeWECHATPAY2-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进制串,而我这个是随机字符串,是不是因为这个问题,才导致验签失败的?

微信官方的这个我用验签工具是通过的,回调中的验证不通过,肯定不是我证书或者配置问题,目前已经研究两天,实在是找不到问题了

以下是微信官方返回值进行验签结果:

以下是我的回调的验签结果:


最后一次编辑于  03-09
回答关注问题邀请回答
收藏

1 个回答

  • Memory
    Memory
    03-10

    可能是这个问题

    03-10
    有用
    回复
登录 后发表内容