请选择 进入手机版 | 继续访问电脑版
绿茶科技社区

PHP实现支付宝登录

2019-10-10 10:02
381
1.支付宝路由拼接
  1.     public function dev()
  2.     {
  3.         $http = 'https://openauth.alipaydev.com/oauth2/publicAppAuthorize.htm?';
  4.         $app_id = '';
  5.         $scope = 'auth_user';
  6.         $redirect_uri = urlencode('');
  7.         $state = '0';
  8.         $url = $http . 'app_id=' . $app_id . '&scope=' . $scope . '&redirect_uri=' . $redirect_uri . '&state=' . $state;
  9.         $this->redirect($url);
  10.     }
复制代码
2.支付宝的回调页面
  1. public function zhi()
  2.     {
  3.         $params = input();
  4.         require_once './plugins/auth/AopSdk.php';
  5.         $aop = new \AopClient ();
  6.         $aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do';
  7.         $aop->appId = '2016100200645172';
  8.         $aop->rsaPrivateKey = '私钥';
  9.         $aop->alipayrsaPublicKey = '公钥';
  10.         $aop->apiVersion = '1.0';
  11.         $aop->signType = 'RSA2';
  12.         $aop->postCharset = 'UTF-8';
  13.         $aop->format = 'json';
  14.         $request = new \AlipaySystemOauthTokenRequest ();
  15.         $request->setGrantType("authorization_code");
  16.         $request->setCode($params['auth_code']);
  17.         $result = $aop->execute($request);
  18.         $result = (new \think\Collection($result))->toArray();
  19.         $access_token = $result['alipay_system_oauth_token_response']->access_token ?? '';
  20.         if (!$access_token) {
  21.             echo json_encode(['msg' => 'code无效'], JSON_UNESCAPED_UNICODE);
  22.         }
  23.         $request = new \AlipayUserInfoShareRequest ();
  24.         $result = $aop->execute($request, $access_token);
  25.         \app\home\logic\Auto::ali($result);
  26.         $list = \app\common\model\User::where('open_type', 'alipay')->where('openid', $result->alipay_user_info_share_response->user_id)->find();
  27.         session('user_info', $list->toArray());
  28.         $blank_url = session('blank_url') ?: 'home/index/index';
  29.         \app\home\logic\CartLogic::cookieToDb();
  30.         $this->redirect($blank_url);
  31.     }
复制代码


分享到 :
0 人收藏

1 个回复

倒序浏览
Robin Zhang  高级会员 | 2019-10-10 10:13:29
呵呵,低调,低调!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

举报|Archiver|手机版|小黑屋|Lvchakeji Inc.  

Powered by Discuz! X3.3 © 2001-2016 Comsenz Inc.

返回顶部