支付宝配置的白名单的手机网站支付开发配置->基础环境中的应用网关和授权回调地址怎样填

微信授权登录、分享、支付等核心内容和支付宝支付
一、微信的授权登录、分享、支付:(项目上线的时候记得把keystore换成记得打包的哦)
(一)、微信授权登录:
1.先登录微信的开发者平台,注册自己的相关项目内容(详情请查看微信开发平台)
2.下载开发需要的jar包:
3.解压下载相关内容:
4.包jar包导入到eclipse中的libs文件夹下面后添加jar包到项目中:
注:选中对应jar包点击鼠标右键&&&build path&&》add to build path
详细请查看:
5.添加AndroidManifest.xml 设置
6.定义一个静态广播来进行注册app:
7.把项目注册到微信(在自己程序入口Application中添加):
8.发起微信授权:
9.接收微信的请求及返回值:
a. 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自Activity(例如应用程序的包名为net.sourceforge.simcpux,则新添加的类如下图所示)
10.写微信授权的回调类代码:WXEntryActivity 类的编写请查看微信开发文档哦!
(二)、微信支付:
1、唤起微信支付界面:
2、设置微信支付回调:WXPayEntryActivity类的编写请详看开发文档!
以上要注意还得在AndroidManifest.xml中注册哦:
(三)、微信分享:
1、微信分享也是大同小异这里面就不详细讲解了哦!(自己查看开发文档吧!):
2.注意:这里一般都是加载本来图片,要是要加载网络图片那么就的开一个线程获取是异步加载哦!
二、支付宝支付:
1、在支付开发平台上创建自己的项目:
2、完善应用信息:这里请详看开发文档哦!
3、下载对应的jar文件放在libs文件下面:和微信的一样一样的
4.添加AndroidManifest.xml权限:
5.发起支付宝支付:因为支付宝支付是在线程中完成的哦!
5.和微信一样设置回调:
6.编写ZFBpayentryActivity类:具体编写请查看开发文档哦!主题 : 支付宝配置中的应用网关是什么啊,求大神啊
级别: 新手上路
可可豆: 20 CB
威望: 20 点
在线时间: 17(时)
发自: Web Page
来源于&&分类
支付宝配置中的应用网关是什么啊,求大神啊&&&
就是不知道这个应用网关是什么,拜托了大神们
级别: 新手上路
可可豆: 20 CB
威望: 20 点
在线时间: 17(时)
发自: Web Page
自顶一下&&大神&&拜托了
级别: 侠客
UID: 471816
可可豆: 509 CB
威望: 386 点
在线时间: 385(时)
发自: Web Page
就是你的支付宝签约支付宝时,指定可用于支付验证的网址。比如你公司后台支付服务器的网址,类似 在这里要处理一些支付宝的响应
It's time to turn.
级别: 新手上路
可可豆: 20 CB
威望: 20 点
在线时间: 17(时)
发自: Web Page
回 2楼(aiq西米) 的帖子
就是说我们公司在跟支付宝签约的时候这个网关就已经写死了
级别: 侠客
UID: 471816
可可豆: 509 CB
威望: 386 点
在线时间: 385(时)
发自: Web Page
回 3楼(asd) 的帖子
也可以修改的,若是与支付宝签约相关问题,直接电联支付宝客服沟通比较快。
It's time to turn.
级别: 新手上路
可可豆: 1 CB
威望: 1 点
在线时间: 4(时)
发自: Web Page
回 2楼(aiq西米) 的帖子
还是不懂可以从哪里弄到应用网关???
级别: 侠客
UID: 471816
可可豆: 509 CB
威望: 386 点
在线时间: 385(时)
发自: Web Page
回 5楼(biezhiying) 的帖子
比如下面的地址是你后台接收支付异步通知的地址,里面就包含了网关(公网地址):&http://商户网关地址/alipay/notify_url.jsp& ,一般就是服务器的根地址。前提,要用支付宝账户(商家账户,也就是收钱账户)跟支付宝公司签订商户合约,签约流程有填写网关地址。登录签约商户可查看网关地址,也可以进行修改。登录支付宝-[ 此帖被aiq西米在 14:49重新编辑 ]
It's time to turn.
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版4236人阅读
  对于第三方登录,我们常见了,很多应用可以进行第三方登录,我常用的有:QQ、微信、新浪、支付宝等等,今天我们就一起来简单学习一下支付宝第三方授权登录。
  打开支付宝开发平台,注册成为开发者,点击开发者中心,在我的应用中创建一个应用:
  点击功能信息,添加我们需要的功能:
  到这我们还不能进行接口调试,因为我们的应用没有上线,APPID是无效的,这里阿里给了我们一个解决方案,就是通过沙箱模式进行接口调试,下面我们来配一下我们的沙箱模式:
  配置过RAS2就可以不用配置RAS1了,公钥和私钥的生成规则,查看支付宝文档,我这里是使用支付宝提供的秘钥生成工具生成的,创建完成后,我们下载的文件夹下会生成三个文件:rsa_private_key.pem(秘钥)、rsa_private_key_pkcs8.pem(java专用秘钥)、rsa_public_key.pem(公钥),我们把生成的公钥上传到沙箱环境下RAS2下,点击查看支付宝公钥,将公钥保存,接下来开发使用。应用网关和授权回调地址,这里因为是本地调试,暂时写为图上内容即可。
  做好这些准备工作我们就可以开始进行我们的具体功能实现了,首先我打开支付宝开发平台开发文档,点击基础能力-&第三方应用授权,阅读一遍内容,我回到文档的第三步:
  注意这里的app_id要填写沙箱应用的ID,不然是无法完成调用支付登录页面的。
&a href=&/oauth2/appToAppAuth.htm?app_id=沙箱环境下的应用ID&redirect_uri=http://127.0.0.1:8080/alipayTest/return_url.jsp& &支付宝第三方登录&/a&&br/&
  下面我们看一下我们的return_url.jsp的业务处理:
&%@ page language=&java& contentType=&text/ charset=UTF-8& pageEncoding=&UTF-8&%&
&%@ page import=&java.util.*&%&
&%@ page import=&java.util.Map&%&
&%@ page import=&com.alipay.api.*&%&
&%@ page import=&com.alipay.api.request.*&%&
&%@ page import=&com.alipay.api.response.*&%&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&支付宝页面跳转同步通知页面&/title&
//获取支付宝GET过来反馈信息
Map&String,String& params = new HashMap&String,String&();
Map requestParams = request.getParameterMap();
for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name);
String valueStr = &&;
for (int i = <span style="background-color:#f5f5f5; color:#; i & values. i&#43;&#43;) {
valueStr = (i == values.length - <span style="background-color:#f5f5f5; color:#) ? valueStr &#43; values[i]
: valueStr &#43; values[i] &#43; &,&;
//乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
valueStr = new String(valueStr.getBytes(&ISO-8859-1&), &utf-8&);
params.put(name, valueStr);
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表(以下仅供参考)//
//支付宝用户号
String app_id = new String(request.getParameter(&app_id&).getBytes(&ISO-8859-1&),&UTF-8&);
out.write(app_id &#43; &\n&);
//获取第三方登录授权
String alipay_app_auth = new String(request.getParameter(&source&).getBytes(&ISO-8859-1&),&UTF-8&);
out.write(alipay_app_auth &#43; &\n&);
//第三方授权code
String app_auth_code = new String(request.getParameter(&app_auth_code&).getBytes(&ISO-8859-1&),&UTF-8&);//获的第三方登录用户授权app_auth_code
out.write(app_auth_code &#43; &\n&);
String privateKey = &生成的秘钥&;
String publicKey = &支付宝公钥&;
//使用auth_code换取接口access_token及用户userId
//AlipayClient alipayClient = new DefaultAlipayClient(&/gateway.do&,&应用APPID&,privateKey,&json&,&UTF-8&,publicKey,&RSA2&);//正常环境下的网关
AlipayClient alipayClient = new DefaultAlipayClient(&/gateway.do&,&沙箱环境下的应用APPID&,privateKey,&json&,&UTF-8&,publicKey,&RSA2&);//沙箱下的网关
AlipayOpenAuthTokenAppRequest requestLogin1 = new AlipayOpenAuthTokenAppRequest();
requestLogin1.setBizContent(&{& &#43;
&\&grant_type\&:\&authorization_code\&,& &#43;
&\&code\&:\&&&#43; app_auth_code &#43;&\&& &#43;
//第三方授权
AlipayOpenAuthTokenAppResponse responseToken = alipayClient.execute(requestLogin1);
if(responseToken.isSuccess()){
out.write(&&br/&调用成功& &#43; &\n&);
out.write(responseToken.getAuthAppId() &#43; &\n&);
out.write(responseToken.getAppAuthToken() &#43; &\n&);
out.write(responseToken.getUserId() &#43; &\n&);
out.write(&调用失败& &#43; &\n&);
  到这里我们的支付宝第三方登录授权就为大家介绍完毕,不过需要指出的是,支付宝第三方授权登录,要求使用者不能通过该方式进行用户导流,也就是说第三方登录成功后,不能出现引导用户完善基本信息的内容,只能使用支付的用户ID进行用户身份标示。
  看完上面的第三授权登录,一定要很多小朋友感觉不过瘾,第三方登录我们只能拿到用的支付宝ID,如果我们需要获取的用户信息包含用户ID、昵称、性别、省份、城市、用户头像、用户类型、用户状态、是否实名认证、是否是学生等信息,这是我们就需要获得一个用户授权,通过用户授权,我们可以获得用户在支付宝上面的信息。下面我们开始具体的功能实现:
  首先我们看一下支付宝开发文档,基础功能-&获取会员信息-&快速接入,我们看第四步下的第一小步,查看沙箱环境下URL拼接:
&a href=&/oauth2/publicAppAuthorize.htm?app_id=沙箱环境下的APPID&scope=auth_user&redirect_uri=http://127.0.0.1:8080/alipayTest/return_url.jsp& &用户授权&/a&&br/&
  这里需要注意的是关于scope的说明:
auth_base:以auth_base为scope发起的网页授权,是用来获取进入页面的用户的userId的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(通常是业务页面)。
auth_user:以auth_user为scope发起的网页授权,是用来获取用户的基本信息的(比如头像、昵称等)。但这种授权需要用户手动同意,用户同意后,就可在授权后获取到该用户的基本信息。
 接下来我们看一下return_url.jsp文件:
&%@ page language=&java& contentType=&text/ charset=UTF-8& pageEncoding=&UTF-8&%&
&%@ page import=&java.util.*&%&
&%@ page import=&java.util.Map&%&
&%@ page import=&com.alipay.api.*&%&
&%@ page import=&com.alipay.api.request.*&%&
&%@ page import=&com.alipay.api.response.*&%&
&meta http-equiv=&Content-Type& content=&text/ charset=UTF-8&&
&title&支付宝页面跳转同步通知页面&/title&
//获取支付宝GET过来反馈信息
Map&String,String& params = new HashMap&String,String&();
Map requestParams = request.getParameterMap();
for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
String name = (String) iter.next();
String[] values = (String[]) requestParams.get(name);
String valueStr = &&;
for (int i = <span style="background-color:#f5f5f5; color:#; i & values. i&#43;&#43;) {
valueStr = (i == values.length - <span style="background-color:#f5f5f5; color:#) ? valueStr &#43; values[i]
: valueStr &#43; values[i] &#43; &,&;
//乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
valueStr = new String(valueStr.getBytes(&ISO-8859-1&), &utf-8&);
params.put(name, valueStr);
//获取支付宝的通知返回参数,可参考技术文档中页面跳转同步通知参数列表(以下仅供参考)//
//支付宝用户号
String app_id = new String(request.getParameter(&app_id&).getBytes(&ISO-8859-1&),&UTF-8&);
out.write(app_id &#43; &\n&);
//获取用户信息授权
String auth_user = new String(request.getParameter(&scope&).getBytes(&ISO-8859-1&),&UTF-8&);
out.write(auth_user &#43; &\n&);
//获的第三方登录用户授权auth_code
String auth_code = new String(request.getParameter(&auth_code&).getBytes(&ISO-8859-1&),&UTF-8&);
out.write(auth_code &#43; &\n&);
String privateKey = &私钥&;
String publicKey = &支付宝公钥&;
//使用auth_code换取接口access_token及用户userId
//AlipayClient alipayClient = new DefaultAlipayClient(&/gateway.do&,&应用APPID&,privateKey,&json&,&UTF-8&,publicKey,&RSA2&);//正常环境下的网关
AlipayClient alipayClient = new DefaultAlipayClient(&/gateway.do&,&沙箱环境先的应用APPID&,privateKey,&json&,&UTF-8&,publicKey,&RSA2&);//沙箱下的网关
//获取用户信息授权
AlipaySystemOauthTokenRequest requestLogin2 = new AlipaySystemOauthTokenRequest();
requestLogin2.setCode(auth_code);
requestLogin2.setGrantType(&authorization_code&);
AlipaySystemOauthTokenResponse oauthTokenResponse = alipayClient.execute(requestLogin2);
out.write(&&br/&AccessToken:&&#43;oauthTokenResponse.getAccessToken() &#43; &\n&);
//调用接口获取用户信息
AlipayClient alipayClientUser = new DefaultAlipayClient(&/gateway.do&, &<span style="background-color:#f5f5f5; color:#50&, privateKey, &json&, &UTF-8&, publicKey, &RSA2&);
AlipayUserInfoShareRequest requestUser = new AlipayUserInfoShareRequest();
AlipayUserInfoShareResponse userinfoShareResponse = alipayClient.execute(requestUser, oauthTokenResponse.getAccessToken());
out.write(&&br/&UserId:& &#43; userinfoShareResponse.getUserId() &#43; &\n&);//用户支付宝ID
out.write(&UserType:& &#43; userinfoShareResponse.getUserType() &#43; &\n&);//用户类型
out.write(&UserStatus:& &#43; userinfoShareResponse.getUserStatus() &#43; &\n&);//用户账户动态
out.write(&Email:& &#43; userinfoShareResponse.getEmail() &#43; &\n&);//用户Email地址
out.write(&IsCertified:& &#43; userinfoShareResponse.getIsCertified() &#43; &\n&);//用户是否进行身份认证
out.write(&IsStudentCertified:& &#43; userinfoShareResponse.getIsStudentCertified() &#43; &\n&);//用户是否进行学生认证
} catch (AlipayApiException e) {
//处理异常
e.printStackTrace();
} catch (AlipayApiException e) {
//处理异常
e.printStackTrace();
  到这里我们通过沙箱模式进行支付宝第三方登录与获取用户授权的内容就和大家分享完毕,小伙伴快去试一试吧。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:28885次
排名:千里之外
原创:31篇
转载:156篇
(154)(17)(15)(1)
(window.slotbydup = window.slotbydup || []).push({
id: '4740887',
container: s,
size: '250,250',
display: 'inlay-fix'支付宝集成——如何在回调地址中使用自定义参数 &#8211; ~SolagirL~

我要回帖

更多关于 钱站基础额度支付宝 的文章

 

随机推荐