微信APP支付回调验签

$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;
?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值