Login with PayPal DEMO
来源:互联网 发布:网络尖兵和星空极速 编辑:程序博客网 时间:2024/06/05 20:24
首先来看的是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
- login in with facebook demo
- Interview with PayPal
- No mapping found for HTTP request with URI [/Demo/WEB-INF/page/login.jsp] in DispatcherServlet with
- login with google
- Google and PayPal to Support New Government Login System
- paypal 获取订单,获取交易信息 demo
- login with ssh without password
- mysql command login with port
- paypal
- paypal
- paypal
- paypal
- Ajax Login System Demo ----using XMLHttpRequest
- Vaadin框架學習(login DEMO)
- sencha touch之表单(login demo)
- ExtJs 入门教程七[登陆窗体Demo:Login]
- ExtJs 入门教程七[登陆窗体Demo:Login]
- mvvm+rac实战分享,mark一下
- 如何获取最后一条数据
- 20170215am js
- hdu2054(坑爹题)
- Gson解析JSON格式数据
- Login with PayPal DEMO
- 更改Windows10命令行字体
- 多种负载均衡算法及其 Java 代码实现
- Excel:公式应用技巧汇总
- 微服务实战:从架构到发布1
- 22大类125款工具 网络安全从业者必备工具大全
- linux模块配置
- 机器学习09支持向量机
- JDBC数据查询