thinkphp3.2.3⽀付宝授权登录php 1,⾸先拿到应该获取的权限,账户信息⾥⾯能拿到pid
私钥与公钥,以及⽀付宝公钥
3,我使⽤的是thinkphp导⼊⽀付宝sdk
tp⾥⾯verdor可以直接调⽤⽀付宝
vendor('Alipay.AopSdk');
$aop = new \AopClient ();
4,封装alipayapi
个⼈⼆次次封装alipay的sdk调⽤
附上代码(加上⾃⼰的配置⽂件可以直接使⽤,具体根据⾃⼰业务需求做拓展):<?php
namespace Common\Lib\AlipayApi;
/**
* ⽀付宝sdk封装
*
* Class ArrayFormat
* @package Common\Lib\AlipayApi;
*/
class AlipayApi
{
public  function alipayUserInfo($auth_code)
{
vendor('Alipay.AopSdk');
$aop = new \AopClient ();
if(empty($auth_code)){
E('auth_code不能为空!');
}
//APPID
$appid = C('ALIPAY_CONFIG.appid');
//私钥⽂件名(rsa_private_key.pem)
$rsaPrivateKey = C('ALIPAY_CONFIG.rsaPrivateKey');
//公钥⽂件名(rsa_public_key.pem)
$alipayrsaPublicKey = C('ALIPAY_CONFIG.alipayrsaPublicKey');
//初始化
$aop->gatewayUrl = C('ALIPAY_CONFIG.gatewayUrl');
$aop->appId = $appid;
$aop->rsaPrivateKey = $rsaPrivateKey;
$aop->alipayrsaPublicKey = $alipayrsaPublicKey;
$aop->apiVersion = '1.0';
$aop->signType = 'RSA2';
$aop->postCharset='UTF-8';
$aop->format='json';
//获取access_token
$request = new \AlipaySystemOauthTokenRequest();
$request->setGrantType("authorization_code");
$request->setCode($auth_code);//这⾥传⼊ code
$request->setCode($auth_code);//这⾥传⼊ code
$result = $aop->execute($request);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$access_token = $result->$responseNode->access_token;
/
/获取⽤户信息
$request_a = new \AlipayUserUserinfoShareRequest();
thinkphp3$result_a = $aop->execute ($request_a,$access_token); //这⾥传⼊获取的access_token
$responseNode_a = str_replace(".", "_", $request_a->getApiMethodName()) . "_response";
$alipayUser =array();
$alipayUser['alipay_user_id'] = $result_a->$responseNode_a->user_id;  //⽤户唯⼀id
$alipayUser['alipay_province'] = $result_a->$responseNode_a->province;    //省份
$alipayUser['alipay_city'] = $result_a->$responseNode_a->city;    //城市
$alipayUser['alipay_user_type'] = $result_a->$responseNode_a->user_type;    // ⽤户类型(1/2)1代表公司账户2代表个⼈账户$alipayUser['alipay_user_status'] = $result_a->$responseNode_a->user_status;    //⽤户状态(Q/T/B/W)。Q代表快速注册⽤户T代表已认证⽤户B代表被冻结账户W代表已注册,未激活的账户
$alipayUser['alipay_is_certified'] = $result_a->$responseNode_a->is_certified;    //是否通过实名认证。T是通过 F是没有实名认证。
return $alipayUser;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。