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 hinkCollection($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); apphomelogicAuto::ali($result); $list = appcommonmodelUser::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'; apphomelogicCartLogic::cookieToDb(); $this->redirect($blank_url); }