Open Nicolas-Gong opened 4 years ago
"""
\
问题找到了 unwrapResponse函数内$contentType返回的是“text/xml; charset=UTF-8”,退款返回的是“text/plain”,所以走了下面的转换成了数组
没太明白?意思是退款返回的数据需要特殊处理吗?
最后是怎么解决的 @gml-9527
最后是怎么解决的 @gml-9527
老哥,我找了很久才找到我以前公司哪个项目用的这个包,然后我发现我引入的是3.1.2的包,于是乎就不存在Gateways这个文件夹了,估计也就不报错了,时间过了很久了,不记得当时咋搞的了,看样子是降版本吧。不过我既然问题都指出来了,你可以尝试修改这个源码,然后提交PR。
vendor/riverslei/payment/src/Gateways/Wechat/WechatBaseObject.php 文件内 286行返回的就是个数组,然后又到291行toArray一下,就报错了。
最终报错在vendor/riverslei/payment/src/Helpers/DataParser.php 文件内的61行,因为$xml本身为array,xml_parse函数第二个参数只能是字符串。 int xml_parse ( resource $parser , string $data [, bool $is_final = false ] ) $xml = [ "return_code" => [] "return_msg" => [] "result_code" => [] "err_code" => [] "err_code_des" => [] ]