首先来看的是paypal给我们的建议和一些文档。
Login with PayPal的集成资料
https://developer.paypal.com/docs/integration/direct/identity/log-in-with-paypal/

首先,您需要申请一个REST app:
https://developer.paypal.com/developer/applications/create ,选中“Log In with PayPal”选项, 在高级选项中,如果想获取买家的电话,住址,邮箱等信息,需要在申请Application的内容里面选上这些信息。
另外无需再次登入的产品名称叫Seamless checkout,也是需要在application里面勾上该产品才能使用。
请参考下面链接的Provide information for a Log In with PayPal app章节:
https://developer.paypal.com/webapps/developer/docs/integration/admin/manage-apps/

Seamless checkout 集成介绍:
https://developer.paypal.com/docs/integration/direct/identity/seamless-checkout/

您可以参考我们的demo (log in):
https://demo.paypal.com/us/demo/navigation?device=desktop&page=merchantHome

**

下边是我的一个用PHP写的小DEMO,注意需要替换成自己的key和url

**

这里是生成的代码用于登录
<span id="myContainer"></span>
<script src="https://www.paypalobjects.com/js/external/api.js"></script>
<script>paypal.use( ["login"], function(login) {login.render ({"appid": "Aap2NcHeFzlR8s-e_Mhqiw2IK2a1wKd5BxC9tmtbSqPjUpfWeqPlRmAaWKW3chtG_RsmkT6D_v7DcVFE","scopes": "profile email address phone https://uri.paypal.com/services/paypalattributes","containerid": "myContainer","locale": "zh-cn","returnurl": "http://zhaoyingjie.cn/oauth2-php-ppaccess/complete.php"});});
</script>
这里是主要代码区域,用于URL返回
<?php//初始化获取用户的PayPal令牌
$client_id     = "Aap2NcHeFzlR8s-e_Mhqiw2IK2a1wKd5BxC9tmtbSqPjUpfWeqPlRmAaWKW3chtG_RsmkT6D_v7DcVFE";
$client_secret = "EEDK8fUF7xzz8GVPqFUbHgvoB3QouAZNxWiy710-ddVcOBn9maSQDxyfPNZ4Pz5zChC1fCZ2SZhroixv";
$code          = $_REQUEST['code'];
$post_url      = "https://api.paypal.com/v1/identity/openidconnect/tokenservice";
$post_date     = array('client_id'     => $client_id,'client_secret' => $client_secret,'grant_type'    => 'authorization_code','code'          => $code
);
$response      = json_decode( curlPost($post_url,$post_date) );
$token         = $response->access_token;//获取用户的PayPal用户信息数据
$post_url      = "https://api.paypal.com/v1/identity/openidconnect/userinfo/";
$post_date     = array('schema'        => 'openid','access_token'  => $token);
$response      = json_decode( curlPost($post_url,$post_date) );
echo "<pre>";
var_dump($response);function curlPost($url,$data) {$ch = curl_init($url);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($data));curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);//payal说只有在沙盒模式才用加,可为何正式也用加这个参数$reponse = curl_exec($ch);if(curl_errno($ch)>0){//return false;var_dump( curl_errno($ch));}curl_close($ch);return $reponse;
}/*一下为paypal login 获取到的用户信息样本
object(stdClass)#2 (16) {["family_name"]=>string(4) "zhao"
["verified"]=>string(4) "true"
["name"]=>string(12) "zhao yingjie"
["account_type"]=>string(8) "BUSINESS"
["given_name"]=>string(7) "yingjie"
["user_id"]=>string(93) "https://www.paypal.com/webapps/auth/identity/user/2pU9NqpEdpnkXUHWZRBdP2tPJ9s3UvmWwSWYUI1y3Io"
["address"]=>object(stdClass)#3 (5) {["street_address"]=>string(2) "xx"
["locality"]=>string(2) "xx"
["region"]=>string(8) "HongKong"
["postal_code"]=>string(6) "110000"
["country"]=>string(2) "C2"}["verified_account"]=>string(5) "false"
["language"]=>string(5) "zh_XC"
["zoneinfo"]=>string(13) "Asia/Shanghai"
["locale"]=>string(5) "zh_XC"
["phone_number"]=>string(11) "123123"
["account_creation_date"]=>string(10) "2016-12-18"
["email"]=>string(20) "123@123.com"
["age_range"]=>string(5) "26-30"
["birthday"]=>string(10) "1929-10-08"
}
一下为测试用的代码可删除
$ch = curl_init( "https://api.paypal.com/v1/identity/openidconnect/tokenservice" );curl_setopt_array( $ch,array(CURLOPT_POST           => 1,CURLOPT_POSTFIELDS     => 'client_id='.$client_id.'&client_secret='.$client_secret.'&grant_type=authorization_code&code=' . $code,CURLOPT_RETURNTRANSFER => 1,CURLOPT_SSL_VERIFYPEER => FALSE));$response = json_decode(curl_exec( $ch ));
echo "<pre>";
var_dump($response);
echo "</pre>";*/
?>

总结,paypal login的方法其实和QQ等的是一样的,有问题可以联系paypal顾问进行咨询。

Login with PayPal DEMO相关推荐

  1. (旧)springboot 快速实现登录、注册功能(附Demo源码)

    1.直接跑通Demo,修改配置文件.导入数据库sql文件即可. 2.跟着一步一步实现. 当然你也可以先跑通Demo,在尝试自己跟着来一遍 1.跑通Demo 需要源码和Demo 跳转新项目 跳转新项目 ...

  2. PayPal开发文档整理(1)- 开发者首页

    原文地址: https://developer.paypal.com/home/ 目录 1.介绍 2. Get Start 3. API Executor 4. PayPal Demo 5.PayPa ...

  3. Struts2实现登陆功能Demo

    最近在学习SSH框架,通过用struts实现一个简单的登陆功能,来学习struts相关知识,着重了解了struts的配置. 1.在Eclipse下创建StrutsDemo项目,并将struts2所必须 ...

  4. Struts2的动态Action实现

    在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多. 一.指定method属性 在struts.xml中指定action的met ...

  5. 爱与恨的抉择:ASP.NET 5+EntityFramework 7

    EF7 的纠缠 ASP.NET 5 的无助 忘不了你的好 一开始列出的这个博文大纲,让我想到了很久之前的一篇博文:恋爱虽易,相处不易:当EntityFramework爱上AutoMapper,只不过这 ...

  6. 如何得到别人的上网帐号和密码

    如何得到别人的上网帐号和密码,我在这里介绍几种弱智方法. 方案一:利用特洛伊***得到帐号.必备工具:NTESPY.PWLVIEW. 优点:只要对方运行了程序就有80%的成功率,而且不需要任何网络** ...

  7. 在asp.net core2.1中添加中间件以扩展Swashbuckle.AspNetCore3.0支持简单的文档访问权限控制...

    Swashbuckle.AspNetCore3.0 介绍 一个使用 ASP.NET Core 构建的 API 的 Swagger 工具.直接从您的路由,控制器和模型生成漂亮的 API 文档,包括用于探 ...

  8. 【实践驱动开发3-003】TI WL1835MODCOM8 在android的移植 - 软件获取2

    TI的产品线太多了,所以当你要选定一部分资源的时候,往往会陷入浩瀚的海洋的感觉,一个链接接着一个链接: 1 软件下载链接指向:http://processors.wiki.ti.com/index.p ...

  9. 开源项目之kisso

    kisso开源项目:https://gitee.com/baomidou/kisso 一.简介 kisso  =  cookie sso 基于 Cookie 的 SSO 中间件,它是一把快速开发 ja ...

最新文章

  1. 智源研究院发布“知识疫图-全球新冠疫情智能驾驶舱”,一键预测、跟踪和决策辅助...
  2. SOJ 8064 Whack the Groundhog
  3. 阻塞队列实现日志接口开发
  4. excel最常用的八个函数_Excel最常用的几个函数,我都帮你整理好了!
  5. 核心员工要离职,怎么办?
  6. 用UDEV服务解决RAC ASM存储设备名
  7. opencv读取图片、视频、摄像头
  8. Python在cmd中配置虚拟环境ERROR: Command errored out with exit status 1:
  9. 《操作系统》OS学习(一):OS相关
  10. windows网络版象棋的实现
  11. Android PackageManagerService分析三:卸载APK
  12. VIM查看空格,换行,TAB键
  13. 仿抖音上下滑动播放视频
  14. 全国各地车牌号码查询表
  15. 科目3|软考高项论文写作技巧
  16. 去除马赛克,有办法了 附运行教程
  17. 超好的 MARKINGCODE查询网 电子元件丝印
  18. vRealize Automation 8.0+安装配置
  19. Superset部署+连接MySQL8+省份地图可视化
  20. 着力抓好服务中心建设,实现网格综治一体化管理

热门文章

  1. OriginPro2016 三维绘图
  2. adb命令删除手机密码设置
  3. 如何快速找到你想要的文献
  4. Python数据库课程设计:点菜订餐管理信息系统【含报告】 Django + Bootstrap + jQuery
  5. 迅为4412开发板官方店十一大促,乐享双重好礼
  6. FPGA实现除法器(verilog)
  7. html 图片剪裁工具_HTML5图像裁剪工具
  8. Linux 后台运行程序 Screen 服务器
  9. 安装算量哪个好用_安装算量桥架系统模型功能说明
  10. 怎么拷贝计算机桌面,怎么把电脑浏览器里的软件复制到桌面