thinkphp集成支付宝接口在returnurl这一步验证失败

2016-01-20 16:00:54

昨天经过初步的整这个支付宝接口,已经实现可以跳转到支付页面。

今天就进行测试支付成功后是怎么样进行处理的,结果在最后跳转到returnurl这个地方的时候给出的提示是“验证失败”,为此我又纠结了。

看了下,发现verifyReturn()这个函数里面是用GET来获取参数的

alipayverifyReturn.png

于是我就试着输出下GET

alipayreturnurlfaild.png

刚开始我也没有看出什么问题来,因为上面那些东西都是正常的输出,搞的我就很郁闷,我好像没有哪里搞错了啊。

最后看到http://www.thinkphp.cn/code/240.html这个帖子,才发现原来是多了这个_URL_也是会出问题的,然后照着帖子上的方法,给paraFilter这个函数里面添加上那个条件。

/**
 * 除去数组中的空值和签名参数
 * @param $para 签名参数组
 * return 去掉空值与签名参数后的新签名参数组
 */
function paraFilter($para) {
	$para_filter = array();
	while (list ($key, $val) = each ($para)) {
		if($key == "sign" || $key == "sign_type" || $key == "_URL_" || $val == "")continue;//多了$key == "_URL_"
		else	$para_filter[$key] = $para[$key];
	}
	return $para_filter;
}

这个问题就这样解决了,进入下一步,进行业务逻辑的完善了。

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注