我的编程空间,编程开发者的网络收藏夹
学习永远不晚

php获取支付宝用户信息

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

php获取支付宝用户信息

一:创建应用

要在您的应用中使用支付宝开放产品的接口能力:

  1.  您需要先去蚂蚁金服开放平台(open.alipay.com),在开发者中心创建登记您的应用,此时您将获得应用唯一标识(APPID);
  2. 请在【功能信息】中点击【添加功能】,选择【获取会员信息】;
  3. 提交审核,等待审核通过,该应用正式可以使用。

需要详细了解开放平台创建应用步骤请参考《开放平台应用创建指南》。

二:配置密钥

开发者调用接口前需要先生成RSA密钥,RSA密钥包含应用私钥(APP_PRIVATE_KEY)、应用公钥(APP_PUBLIC_KEY)。生成密钥后在开放平台开发者中心进行密钥配置,配置完成后可以获取支付宝公钥(ALIPAY_PUBLIC_KEY)。详情请参考《配置应用环境》。

三:搭建和配置开发环境

1. 下载服务端SDK

为了帮助开发者调用开放接口,我们提供了开放平台服务端SDK,包含JAVA、PHP和.NET三个语言版本,封装了签名&验签、HTTP接口请求等基础功能。请先下载对应语言版本的SDK并引入您的开发工程。

各语言版本服务端SDK详细使用说明,请参考《服务端SDK说明》,本文需要下载的就是PHP的SDK包了。

2. 接口调用配置

先看前端代码:

1 先从后台获取二维码,并且展示出来

function show(){    var parmss = {        phone:userName    };    $.ajax({        url: model.base_url + "/Alipay/getQRcode",        data: parms,        type: "post",        dataType: "text",        success: function(res, status, xhr) {            if(res != '' || res != null){                //将二维码显示出来                var url = res.body.url;                popupUrl.find(".pm-left").find("img").attr("class="lazy" data-src",url);            }        },        error: function(data) {        }    });    $("#popup-bind").show();    int = setInterval(model.bindQuery,"1000");//通过定时器,判断是否绑定过第三方支付}

2 定时器,判断是否绑定成功

//根据请求后台看是否数据已经绑定function bindQuery(){    var parmss = {            phone:userName        };    $.ajax({        url: model.base_url+"Authorland/getBindsucess",        data: parmss,        type: "post",        dataType: "text",        success: function(res, status, xhr) {            if(res != '' || res != null){    if(bind_num == 0){                    var zfb_id = res.body.zfb_id;                    bind_num = 1;                }else{                    var wx_ids = res.body.wx_id;                }           如果支付宝已经绑定,就把已经绑定的图片换上去,并且把二维码关闭掉                if(zfb_id != undefined || zfb_ids != undefined){                    $("#bind-zfb").unbind();                    $("#bind-zfb").addClass("on");                    $("#bind-zfb").find("p").text("已绑定支付宝");                    $("#bind-zfb").find("img").attr("class="lazy" data-src","/public/Content/Images/wallet/zfb_on.png");                }                if(wx_id != wx_ids || zfb_id != zfb_ids){                    clearInterval(int);//清除定时器                }            }                    }    });}

3 php 后台处理代码

直接看php代码

appid='2018111362173186';        $this->alipayrsaPublicKey='您的公钥';        $this->rsaPrivateKey='您的私钥';        //该回调地址必须和支付宝开发者平台对应的应用设置的回调地址一致        $this->grantRedirect='https://www.baidu.com/Alipay/getAlipayUseInfo';                $this->aop = new AopClient();        $aop=$this->aop;        $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';        $aop->appId = $this->appid;        $aop->rsaPrivateKey = $this->rsaPrivateKey;        $aop->alipayrsaPublicKey = $this->alipayrsaPublicKey;        $aop->apiVersion = '1.0';        $aop->signType = 'RSA2';        $aop->postCharset='UTF-8';        $aop->format='json';        parent::__construct();    }        public function alipayCreateQRcode(){        $phone = input("param.phone");//接收电话号码        $codeObj  = new  \qrcode\QRcode();        $url='https://www.baidu.com/Alipay/goQRcodefunc?mobile='.$phone;//url拼接电话号码参数,准备只做二维码        $dir = './public/qrcode/';        $size = 10;        if(!is_dir($dir)){            @mkdir($dir,0777);        }        $createDirImg = $dir.$moblie.'_alipay.jpg';//生成的二维码图片的地址        $codeObj::png($url,$createDirImg,'L',$size,2);//生成二维码        $msg['code'] = 10000;        $msg['url'] = 'https://www.baidu.com'.substr($createDirImg,1,strlen($createDirImg));;        $msg['mobile'] = $moblie;        echo json_encode($msg);//返回二维码地址    }        public  function  goQRcodefunc(){        $mobile=input("param.mobile");//接收二维码传过来的电话        $this->grantRedirect=urlencode($this->grantRedirect."?mobile=$mobile");//拼接授权回调的地址,吧mobile传过去        $url ="https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id={$this->appid}&scope=auth_user&redirect_uri={$this->grantRedirect}";        header("Location:".$url);//跳转到下面的url拉起授权页面    }        public function  getAccess_token($code){        $request = new AlipaySystemOauthTokenRequest();        $request->setGrantType("authorization_code");        $request->setCode($code);//这里传入 code        $result = $this->aop->execute($request);        $responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";        if(isset($result->$responseNode->access_token)&& !empty($result->$responseNode->access_token)){            return $result->$responseNode->access_token;        }else{            $files = 'ali/'.date("Ymd").".txt";            $log = 'time:'.date('Y-m-d H:i:s').'---errsssssss code:'.$code.'---response:'.json_encode($result)."\n\n";            filePutContents($files,$log);        }    }        public function  getAlipayUserdata($code){        $access_token=$this->getAccess_token($code);        $request_a = new AlipayUserInfoShareRequest();        $result_a = $this->aop->execute ($request_a,$access_token); //这里传入获取的access_token                $user_id = $result_a->alipay_user_info_share_response->user_id;   //用户唯一id        $city = $result_a->alipay_user_info_share_response->city;    //用户城市        $province = $result_a->alipay_user_info_share_response->province;    //用户省份        $avatar = $result_a->alipay_user_info_share_response->avatar;    //用户头像        $is_student_certified = $result_a->alipay_user_info_share_response->is_student_certified;        $gender = $result_a->alipay_user_info_share_response->gender;    //用户性别        $user_type = $result_a->alipay_user_info_share_response->user_type;            $user_status = $result_a->alipay_user_info_share_response->user_status;            $is_certified = $result_a->alipay_user_info_share_response->is_certified;            return array(            'user_id'=>$user_id,            'gender'=>$gender,            'city'=>$city,            'avatar'=>$avatar,            'nickname'=>'',            'province'=>$province,            'is_student_certified'=>$is_student_certified,            'user_type'=>$user_type,            'user_status'=>$user_status,            'is_certified'=>$is_certified        );    }        public function getAlipayUseInfo(){        $input = input('param.');//获取传过来的参数        $code = $input['auth_code'];        $param=$this->getAlipayUserdata($code);  //第三方信息if(isset($param['user_id'])){            //此处是将数据存储到数据库的逻辑       //删除二维码图片           $createDelImg = './public/qrcode/'.$moblie.'_alipay.jpg';           @unlink($createDelImg);            echo '

绑定支付宝成功

'; }else{ $msg['code'] = 405; $msg['msg'] = '服务器繁忙,请稍后再绑定'; exit(json_encode($msg)); } }}?>

来源地址:https://blog.csdn.net/weixin_46742102/article/details/130650138

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

php获取支付宝用户信息

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

支付宝小程序如何获取会员信息

本篇内容介绍了“支付宝小程序如何获取会员信息”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!开发者可以通过国际标准的OAuth3.0授权机制,
2023-06-26

Git怎么获取当前提交用户信息和分支

今天小编给大家分享一下Git怎么获取当前提交用户信息和分支的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。如何获取当前提交用户
2023-07-04

小程序如何获取用户信息

这篇文章主要为大家展示了小程序如何获取用户信息,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“小程序如何获取用户信息”这篇文章吧。获取用户信息,withCredentials 为 true 时需要先
2023-06-26

小程序开发如何获取用户信息

这篇“小程序开发如何获取用户信息”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“小程序开发如何获取用户信息”文章吧。有两种获取
2023-06-26

微信小程序开发怎么获取用户信息

这篇文章主要介绍了微信小程序开发怎么获取用户信息的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序开发怎么获取用户信息文章都会有所收获,下面我们一起来看看吧。第一中直接授权获取(在同一页面之中):首先在微
2023-06-29

android微信授权怎么获取用户个人信息

本篇内容主要讲解“android微信授权怎么获取用户个人信息”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“android微信授权怎么获取用户个人信息”吧!微信官方文档API:https://de
2023-06-22

小程序如何获取用户信息失败

这篇文章主要介绍小程序如何获取用户信息失败,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  在使用小程序时,很多人会不授权导致授权失败场景,但是小程序第二次不在启动授权信息弹层,遇到这种情况,为了用户体验我们需要这样
2023-06-26

公众号和小程序获取用户信息及获取手机号

公众号的获取用户信息 前端传code,后端根据code获取用户信息 代码: $code = $this->request->param('code');//通过下面url获取access_t和 openid$url = 'https://a
2023-08-22

微信小程序开发中如何获取用户信息

这篇文章主要为大家展示了微信小程序开发中如何获取用户信息,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带大家一起来研究并学习一下“微信小程序开发中如何获取用户信息”这篇文章吧。wx.getUserInfo(OBJECT)获取
2023-06-26

微信小程序使用uni-app一键获取用户信息

这篇文章主要介绍了微信小程序使用uni-app一键获取用户信息,需要的朋友可以参考下
2023-01-28

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录