gistfile1.txt //微信APP支付成功后,会按时间依次发送多次回调信息,需要在页面正确响应后,微信才会停止发送异步回调信息//一开始做的时候只知道输出'return_code','return_msg'这两个字段
//微信APP支付成功后,会按时间依次发送多次回调信息,需要在页面正确响应后,微信才会停止发送异步回调信息
//一开始做的时候只知道输出'return_code','return_msg'这两个字段,后来发现微信还是会一直进行异步通知,
//查了很多资料才知道,还要吧sign值也输出到页面
function array2xml($arr, $level = 1) {
$s = $level == 1 ? "
" : '';
foreach ($arr as $tagname => $value) {
if (is_numeric($tagname)) {
$tagname = $value['TagName'];
unset($value['TagName']);
}
if (!is_array($value)) {
$s .= "<{$tagname}>" . (!is_numeric($value) ? '' : '') . $value . (!is_numeric($value) ? '' : '') . "
";
} else {
$s .= "<{$tagname}>" . array2xml($value, $level + 1) . "
";
}
}
$s = preg_replace("/([\x01-\x08\x0b-\x0c\x0e-\x1f])+/", ' ', $s);
return $level == 1 ? $s . "
" : $s;
}
//业务处理逻辑
...
//业务逻辑处理完成后,页面输出响应信息给微信
$result = array(
'return_code' => 'SUCCESS',
'return_msg' => 'OK',
'sign' => $get['sign']//微信回调数据中的sign值
);
echo array2xml($result);
