您现在的位置是:微信支付退款结果通知解密
微信支付退款结果通知解密
微信支付退款结果通知解密步骤如下:
第一步,对商户密钥key进行MD5加密,得到32位小写加密串StringA
key设置路径:微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置
第二步,使用StringA作为key,对参数加密串进行AES-256(ECB模式,PKCS7Padding)解密,得到加密前参数。
第一步很好理解, 第二步微信并没有给出demo, 经测试可用的PHP代码如下
注意:示例函数的$key不是商户秘钥,需要事先进行MD5加密。
明文=refund_decrypt(密文,MD5(商户秘钥));
$refund_xml_string = refund_decrypt($weixin_post_string, md5($weixin_key)); function refund_decrypt($str, $key) { $str = base64_decode($str); $str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_ECB); $block = mcrypt_get_block_size('rijndael_128', 'ecb'); $pad = ord($str[($len = strlen($str)) - 1]); $len = strlen($str); $pad = ord($str[$len - 1]); return substr($str, 0, strlen($str) - $pad); }
解密结果示例
解密后:
<root> <out_refund_no><![CDATA[R4001312001201707262674894706_4]]></out_refund_no> <out_trade_no><![CDATA[201707260201501501005710775]]></out_trade_no> <refund_account><![CDATA[REFUND_SOURCE_UNSETTLED_FUNDS]]></refund_account> <refund_fee><![CDATA[15]]></refund_fee> <refund_id><![CDATA[50000203702017072601461713166]]></refund_id> <refund_recv_accout><![CDATA[用户零钱]]></refund_recv_accout> <refund_request_source><![CDATA[API]]></refund_request_source> <refund_status><![CDATA[SUCCESS]]></refund_status> <settlement_refund_fee><![CDATA[15]]></settlement_refund_fee> <settlement_total_fee><![CDATA[100]]></settlement_total_fee> <success_time><![CDATA[2017-07-26 02:45:49]]></success_time> <total_fee><![CDATA[100]]></total_fee> <transaction_id><![CDATA[4001312001201707262674894706]]></transaction_id> </root>
退款结果图:
随便看看
- php连接mssql中文乱码问题
- PHP判断手机浏览器
- 修改MYSQL默认类型为MYISAM
- 修改MySQL默认字符集
- PHP读取CSV数据
- CentOS使用chkconfig提示systemctl enable xxxx.service
- Linux升级内核kernel
- Linux安装Docker
- CentOS7修改SSH端口提示error: Bind to port
- CentOS7关闭firewalld安装iptables
- curl封装函数
- CentOS替换阿里云yum源
- linux端口重定向
- Linux挂载Windows系统NTFS文件格式硬盘
- libSDL-1.2.so.0()(64bit) is needed by VirtualBox
站长简介
分类
最新文章
热门文章
- 微信支付退款结果通知解密
- 到ICANN投诉三五互联获取域名转移密码成功
- Linux修改密码提示passwd /usr/share/cracklib/pw_dict: error reading header
- {"errcode":45047,"errmsg":"out of response count limit hint]"}
- 微信html弹出点击右上角分享到朋友圈
- Apache禁用TRACE Method和添加X-frame-options响应头
- PHP将B转换为KB、MB、GB
- 构建微信公众号被动回复image图片消息xml
- mysqld_safe Number of processes running now
- CentOS使用chkconfig提示systemctl enable xxxx.service