上路抗压,野爹常来

tp5.1配置支付宝支付

将alipay文件夹放在extend目录下
打开支付宝开发者中心
创建一个应用,点击密钥管理,设置接口加签方式:打开支付宝RSA2安装,安装完成后直接生成密钥,将生成密钥所对应的公钥复制到内容配置里,然后保存,支付宝会自动返回一个支付宝公钥

alipay文件地址

使用:

use alipay\aop\AopClient;
use alipay\aop\request\AlipaySystemOauthTokenRequest;

/**
* 支付宝获取user_id
*/
public function Alipays(){
  $auth_code = input('auth_code');

  //appId
  $appId = '2021001108623781';
  if (!$auth_code){
    //回调地址(经过转义 的url链接,url必须以http或者https开头),这里的回调地址就是测试号中的授权回调地址
    $redirect_uri = 'http://qr.cnzhuoyue.cn/index/fubapay/Alipays';
    //url转义
    $redirect_uri = urlencode($redirect_uri);
    //授权方式(目前只支持auth_userinfo和auth_base两个值)
    $scope = 'auth_base';
    //授权地址
    $authUrl = "https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=". $appId ."&scope=". $scope ."&redirect_uri=". $redirect_uri;
    return $this->redirect($authUrl);
  }else{
    //获取授权返回的auth_code
    $aop = new AopClient();
    //网关,正式环境需要将alipaydev改成alipay
    $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
    //应用私钥
    $aop->rsaPrivateKey = '私钥  由软件生成';
    //支付宝公钥
    $aop->alipayrsaPublicKey = '公钥';
    //签名算法类型
    $aop->signType = 'RSA2';

    $request = new AlipaySystemOauthTokenRequest();
    $request->setGrantType("authorization_code");
    $request->setCode($auth_code);
    $result = $aop->execute($request);
    $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
    //获取access_token
    $openId = $result->$responseNode->user_id;
    $this->redirect('http://qr.cnzhuoyue.cn/index/fubapay/alipay?openId='.$openId);
  }
}

 

注意:具体配置请到支付宝开发中进行配置,这些都是实际项目所使用,不是沙盒环境

posted @ 2020-12-09 17:57  上路抗压  阅读(354)  评论(0编辑  收藏  举报