收付通支付结果通知时按以下格式提取并生成签名与通知的签名不一致,是需要编码、解码还是需要要其他字段
证书序列号与响应序列号一致,
代码生成的签名与微信官方签名工具生成的签名一致,
唯独与微信通知的签名不一致
代码:
String messgage = timestamp + "\n"
+ nonce + "\n"
+ body+ "\n";
通知内容
1601366273
ooiahSuxRo9jg2ts0HWQAx73SH3g9GnS
{"id":"b3b7282e-2b47-563b-a376-56e6edbdc1b2","create_time":"2020-09-29T15:57:51+08:00","resource_type":"encrypt-resource","event_type":"TRANSACTION.SUCCESS","summary":"支付成功","resource":{"original_type":"transaction","algorithm":"AEAD_AES_256_GCM",省略。。。}
1、aes-256-gcm
2、V3 API key
这两个用对了,就对了。
验签 需要用平台证书验,建议翻一下官方的牌子,看下咋搞的 https://github.com/wechatpay-apiv3/wechatpay-apache-httpclient
代码生成的签名与微信官方签名工具生成的签名一致,
唯独与微信通知的签名不一致
验证签名工具:
链接:https://pan.baidu.com/s/1ixOAnYyZVW13dFr0jWVpvw 提取码:wujv
,麻烦使用V3签名验证工具参考V3签名文档https://wechatpay-api.gitbook.io/wechatpay-api-v3/
进行排查修改。V3签名需使用apiv3秘钥。麻烦参考https://kf.qq.com/faq/180830E36vyQ180830AZFZvu.h