2.支付寶的回調頁面 ...
1.支付寶路由拼接 public function dev() { $http = 'https://openauth.alipaydev.com/oauth2/publicAppAuthorize.htm?'; $app_id = ''; $scope = 'auth_user'; $redirect_uri = urlencode(''); $state = '0'; $url = $http . 'app_id=' . $app_id . '&scope=' . $scope . '&redirect_uri=' . $redirect_uri . '&state=' . $state; $this->redirect($url); }
2.支付寶的回調頁面
public function zhi() { $params = input(); require_once './plugins/auth/AopSdk.php'; $aop = new \AopClient (); $aop->gatewayUrl = 'https://openapi.alipaydev.com/gateway.do'; $aop->appId = '2016100200645172'; $aop->rsaPrivateKey = '私鑰'; $aop->alipayrsaPublicKey = '公鑰'; $aop->apiVersion = '1.0'; $aop->signType = 'RSA2'; $aop->postCharset = 'UTF-8'; $aop->format = 'json'; $request = new \AlipaySystemOauthTokenRequest (); $request->setGrantType("authorization_code"); $request->setCode($params['auth_code']); $result = $aop->execute($request); $result = (new \think\Collection($result))->toArray(); $access_token = $result['alipay_system_oauth_token_response']->access_token ?? ''; if (!$access_token) { echo json_encode(['msg' => 'code無效'], JSON_UNESCAPED_UNICODE); } $request = new \AlipayUserInfoShareRequest (); $result = $aop->execute($request, $access_token); \app\home\logic\Auto::ali($result); $list = \app\common\model\User::where('open_type', 'alipay')->where('openid', $result->alipay_user_info_share_response->user_id)->find(); session('user_info', $list->toArray()); $blank_url = session('blank_url') ?: 'home/index/index'; \app\home\logic\CartLogic::cookieToDb(); $this->redirect($blank_url); }