浅析悦乐程微信支付:如何退款?如何编写退款回调接口?( 二 )
(通知频率为15/15/30/180/1800/1800/1800/1800/3600 , 单位:秒)
注意:同样的通知可能会多次发送给商户系统 。 商户系统必须能够正确处理重复的通知 。
推荐的做法是 , 当收到通知进行处理时 , 首先检查对应业务数据的状态 , 判断该通知是否已经处理过 , 如果没有处理过再进行处理 , 如果处理过直接返回结果成功 。 在对业务数据进行状态检查和处理之前 , 要采用数据锁进行并发控制 , 以避免函数重入造成的数据混乱 。
特别说明:退款结果对重要的数据进行了加密 , 商户需要用商户秘钥进行解密后才能获得结果通知的内容
2.2.接口链接
在申请退款接口中上传参数“notify_url”以开通该功能
如果链接无法访问 , 商户将无法接收到微信通知 。
通知url必须为直接可访问的url , 不能携带参数 。
notify_url:“https://pay.weixin.qq.com/wxpay/pay.action”
2.3.解密方式
解密步骤如下:
(1)对加密串A做解码 , 得到加密串B
(2)对商户key做md5 , 得到32位小写key*(key设置路径:微信商户平台-->账户设置-->API安全-->密钥设置)
(3)用key*对加密串B做AES-256-ECB解密(PKCS7Padding)
PS:特别注意 , 如果要进行微信AES解密 , 因为GJ的进口管制限制 , Java发布的运行环境包中的加解密有一定的限制 。 默认不允许256位密钥的AES加解密 , 解决方法就是修改策略文件 , 我们需要从官方网站下载无限制权限策略文件 , 注意自己JDK的版本别下错了 。 返回搜狐 , 查看更多
责任编辑: