/**
* 获取支付宝授权信息
* @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 业务处理
}
PHP获取支付宝授权信息
猜你喜欢
转载自blog.csdn.net/qq_41526316/article/details/107384061
今日推荐
周排行