小程序
小游戏
企业微信
微信支付
扫描小程序码分享
后端怎么把这一段成功的xml返回给微信呢?
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
php 可以这样写
function array2xml($arr, $level = 1) { $s = 1 == $level ? '<xml>' : ''; foreach ($arr as $tagname => $value) { if (is_numeric($tagname)) { $tagname = $value['TagName']; unset($value['TagName']); } if (!is_array($value)) { $s .= "<{$tagname}>" . (!is_numeric($value) ? '<![CDATA[' : '') . $value . (!is_numeric($value) ? ']]>' : '') . "</{$tagname}>"; } else { $s .= "<{$tagname}>" . array2xml($value, $level + 1) . "</{$tagname}>"; } } $s = preg_replace("/([\x01-\x08\x0b-\x0c\x0e-\x1f])+/", ' ', $s); return 1 == $level ? $s . '</xml>' : $s; } $result = array( 'return_code' => 'SUCCESS', 'return_msg' => 'OK' ); echo array2xml($result); exit;
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
java
@RequestMapping(produce="xml/utf-8")有个类似的名字,让返回变成xml
从你上一次的同一个问题,我判断你搞错了,你居然在找微信提供的API接口,然后想通过访问这个API,发送这段XML。
不是这样的逻辑。
既然你说支付结果正常通知了,那说明你在notify_url的后台进程里已经接收到了微信支付的成功通知,你在这个进程的后面加上一句返回这段XML就行了。
如果要问具体代码,取决于你后台的语言是什么,楼下的是php,还有nodejs、java,
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
php 可以这样写
function array2xml($arr, $level = 1) { $s = 1 == $level ? '<xml>' : ''; foreach ($arr as $tagname => $value) { if (is_numeric($tagname)) { $tagname = $value['TagName']; unset($value['TagName']); } if (!is_array($value)) { $s .= "<{$tagname}>" . (!is_numeric($value) ? '<![CDATA[' : '') . $value . (!is_numeric($value) ? ']]>' : '') . "</{$tagname}>"; } else { $s .= "<{$tagname}>" . array2xml($value, $level + 1) . "</{$tagname}>"; } } $s = preg_replace("/([\x01-\x08\x0b-\x0c\x0e-\x1f])+/", ' ', $s); return 1 == $level ? $s . '</xml>' : $s; } $result = array( 'return_code' => 'SUCCESS', 'return_msg' => 'OK' ); echo array2xml($result); exit;
java
@RequestMapping(produce="xml/utf-8")有个类似的名字,让返回变成xml
从你上一次的同一个问题,我判断你搞错了,你居然在找微信提供的API接口,然后想通过访问这个API,发送这段XML。
不是这样的逻辑。
既然你说支付结果正常通知了,那说明你在notify_url的后台进程里已经接收到了微信支付的成功通知,你在这个进程的后面加上一句返回这段XML就行了。
如果要问具体代码,取决于你后台的语言是什么,楼下的是php,还有nodejs、java,