PHP获取支付宝授权信息

    /**
     * 获取支付宝授权信息
     * @throws \Exception
     */
    public function getAliUser()
    {
    	//支付宝官方的PHPSDK下载下来,不同的框架引入方式不同,用到什么,引用什么
        require_once './ThinkPHP/Library/Vendor/aop/AopClient.php';
        require_once './ThinkPHP/Library/Vendor/aop/request/AlipaySystemOauthTokenRequest.php';
        require_once './ThinkPHP/Library/Vendor/aop/request/AlipayUserUserinfoShareRequest.php';
        //支付宝oauth2.0获取用户信息
        //获取授权返回的auth_code 前端拉起支付宝返回code
        $code = I('post.auth_code');
        $token = I('post.token');
        $this->checkToken($token);
        $aop = new \AopClient ();
        // TODO 网关,alipaydev沙箱环境 alipay正式环境
        $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
        //appId 应用ID
        $aop->appId = '';
        //用支付宝开发助手生成私钥与公钥,公钥填写到支付宝开放平台后台
        //开发者私钥
        $aop->rsaPrivateKey = '';
        //支付宝公钥
        $aop->alipayrsaPublicKey = '';
        //签名算法类型
        $aop->signType = 'RSA2';

        $aop->format = 'json';

        $request = new \AlipaySystemOauthTokenRequest();

        $request->setGrantType("authorization_code");
        $request->setCode($code);
        $result = $aop->execute($request);

        $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";

        //获取access_token
        $accessToken = $result->$responseNode->access_token;
        //app审核未通过 无法获取
        if ($accessToken) {
            //获取用户信息
            $requestUser = new \AlipayUserUserinfoShareRequest();

            $info = $aop->execute($requestUser, $accessToken); //这里传入获取的access_token

            $responseNodeName = str_replace(".", "_", $requestUser->getApiMethodName()) . "_response";
            //用户信息
            $userInfo = $info->$responseNodeName;
        }
		// TODO 业务处理
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值