$input = file_get_contents(‘php://input’);
if (!empty($input))
{
$obj = isimplexml_load_string($input, 'SimpleXMLElement', LIBXML_NOCDATA);
$data = json_decode(json_encode($obj), true);
if (empty($data)) {
// 验签失败,业务逻辑
$result = array(
'return_code' => 'FAIL',
'return_msg' => ''
);
echo array2xml($result);
exit;
}
if ($data['result_code'] != 'SUCCESS' || $data['return_code'] != 'SUCCESS') {
// 验签失败,业务逻辑
$result = array(
'return_code' => 'FAIL',
'return_msg' => empty($data['return_msg']) ? $data['err_code_des'] : $data['return_msg']
);
echo array2xml($result);
exit;
}
$get = $data;
} else {
// 验签失败,业务逻辑
$result = array(
'return_code' => 'FAIL',
'return_msg' => ''
);
echo array2xml($result);
exit;
}
ksort($get);
$string1 = '';
foreach($get as $k => $v) {
if($v != '' && $k != 'sign') {
$string1 .= "{$k}={$v}&";
}
}
$app_key = "********************"; // 密钥
$sign = strtoupper(md5($string1 . "key={$app_key}"));
if($sign == $get['sign']) {
// 验签成功,业务逻辑
$result = array(
'return_code' => 'SUCCESS',
'return_msg' => 'OK'
);
echo array2xml($result);
exit;
}
// 验签失败,业务逻辑
r
e
s
u
l
t
=
a
r
r
a
y
(
′
r
e
t
u
r
n
c
o
d
e
′
=
>
′
F
A
I
L
′
,
′
r
e
t
u
r
n
m
s
g
′
=
>
′
′
)
;
e
c
h
o
a
r
r
a
y
2
x
m
l
(
result = array( 'return_code' => 'FAIL', 'return_msg' => '' ); echo array2xml(
result=array(′returncode′=>′FAIL′,′returnmsg′=>′′);echoarray2xml(result);
exit;
?>