微信支付退款通知:
退款结果对重要的数据进行了加密,商户需要用商户秘钥进行解密后才能获得结果通知的内容
拿到了reqInfo加密字符串,需要按照一下步骤解密。
解密步骤如下:
(1)对加密串A做base64解码,得到加密串B
(2)对商户key做md5,得到32位小写key* ( key设置路径:微信商户平台(pay.weixin.qq.com)–>账户设置–>API安全–>密钥设置 )
(3)用key*对加密串B做AES-256-ECB解密(PKCS7Padding)
代码如下:
@Test
public void refundNotifyTest(){
String reqInfo = "vkzb2qYxQwtb4k/Scpng+9wmAummpwMf8tx9Gnvqfvy6QqVgSBjZq3E6YStd+aBqIf5qUIfU9vXfwr2tPUuph9ycxMZhIOeap8HoRjvP8vEKCFMQYOH74ionvgt74OKJN5TZd9zY4dGlIRyrZf71Ug+ENz9KA+HdNrFojcSbz5ZaOcWHNacvMrr8MVTFGr6BpMUmYrhxuboxNQuqJUlr8SRJNaiOiuponCrQIoC1s+mQbyybdERnvfXu66zMmtF5t7hAV+XJZrEhU5hPnLZfcyfuQQe3b/uJjvUpxRuceFvbsHZPvFrVWaeoOFRmAHJ1HxOjM0xtuVnKOwgYJJUSsBk6ECPpDdGFFaK05vcB1dS6Nui+mOw39+LzDUovGnDOL4gvTqmyyzLT