WeChatDeveloper icon indicating copy to clipboard operation
WeChatDeveloper copied to clipboard

微信退款通知解密失败

Open SoBadBlood opened this issue 5 years ago • 8 comments

一直返回 Array ( [0] => 40007 [1] => )

SoBadBlood avatar Dec 24 '20 07:12 SoBadBlood

image 按接口来说,只会返回接收到的数据

zoujingli avatar Dec 24 '20 08:12 zoujingli

把接收的到数据保存下,然后再进行调试。 从40007编号来看,是说解密失败

zoujingli avatar Dec 24 '20 08:12 zoujingli

getNotify 我是在这里手动打印这行参数看到的结果

SoBadBlood avatar Dec 24 '20 08:12 SoBadBlood

图片看不到,把内容用 标签贴出来

zoujingli avatar Dec 24 '20 08:12 zoujingli

https://dhqdjy.ncscloudmedia.com/uploads/png/20201224/56a4071d70951e66c2ee416a7c734e9a.png

SoBadBlood avatar Dec 24 '20 08:12 SoBadBlood

这行是解密异常返回了内容。 在解密之前把内容保存在到文本,然后再手动解密调试

zoujingli avatar Dec 24 '20 08:12 zoujingli

解密步骤如下:

  • 对加密串A做base64解码,得到加密串B
  • 对商户key做md5,得到32位小写key* ( key设置路径:微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置 )
  • 用key*对加密串B做AES-256-ECB解密(PKCS7Padding)

zoujingli avatar Dec 24 '20 08:12 zoujingli

退款通知,对于 key 进行md5,没有 base64decode 动作 可以试着调整下 key 值的处理

zoujingli avatar Dec 24 '20 08:12 zoujingli