开发支付宝快捷登陆接口。我将接口的class类文件全部装载到了TP的Think类中 定义了namespace 为Think

然后我将在Controller实例化它!!!! 实例化都通了 function也都调用了。 但是总是出问题 = = 为啥捏 真的好奇怪

官方给的demo运行是 没问题的 这基本排除了是我服务器的问题。 那么我干脆不封在Think类中了 直接在控制器实例化!!!!
在这里小编感觉自己真的很笨,没有其他更好的办法了 只能这样 如下代码!

public function alipay_login(){
require_once(‘./alipay/login/alipay.config.php’); //引入ALIPAY配置文件
require_once(‘./alipay/login/lib/alipay_notify.class.php’);
$alipayNotify = new \AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
if($verify_result) {//验证成功}
}

这上面的代码 终于可以使用PHP正常的类了。。 那么问题来了 还是验证失败。。。

经过小编仔细的排查。。。发现GET中多了一些TP中的系统GET参数  支付宝类的运行方法我分析了一遍 他有些是直接把GET数组传进去的
废话不多说了 上代码
unset($_GET[‘m’]);  = =真的好简单哦 删除多余的参数

那么最终的实现代码!
public function alipay_login(){
require_once(‘./alipay/login/alipay.config.php’); //引入ALIPAY配置文件
require_once(‘./alipay/login/lib/alipay_notify.class.php’);
unset($_GET[‘m’]);

$alipayNotify = new \AlipayNotify($alipay_config);
$verify_result = $alipayNotify->verifyReturn();
if($verify_result) {//验证成功}
}

不知不觉就搞定了,是不是最优的方案我也不知。。支付宝的开发文档很长 看的很头晕 只能自己分析代码了

发表回复