<a href="https://openauth.alipaydev.com/oauth2/appToAppAuth.htm?app_id=沙箱环境下的应用ID&redirect_uri=http://127.0.0.1:8080/alipayTest/return_url.jsp" >支付宝第三方登录</a><br/>
<%@ page language="java" contentType="text/html; 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.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>支付宝页面跳转同步通知页面</title>
</head>
<body>
<%
//获取支付宝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 = 0; i < values.length; i++) {
valueStr = (i == values.length - 1) ? valueStr + values[i]
: valueStr + values[i] + ",";
}
//乱码解决,这段代码在出现乱码时使用。如果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 + "\n");
//获取第三方登录授权
String alipay_app_auth = new String(request.getParameter("source").getBytes("ISO-8859-1"),"UTF-8");
out.write(alipay_app_auth + "\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 + "\n");
String privateKey = "生成的秘钥";
String publicKey = "支付宝公钥";
//使用auth_code换取接口access_token及用户userId
//AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","应用APPID",privateKey,"json","UTF-8",publicKey,"RSA2");//正常环境下的网关
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do","沙箱环境下的应用APPID",privateKey,"json","UTF-8",publicKey,"RSA2");//沙箱下的网关
AlipayOpenAuthTokenAppRequest requestLogin1 = new AlipayOpenAuthTokenAppRequest();
requestLogin1.setBizContent("{" +
"\"grant_type\":\"authorization_code\"," +
"\"code\":\""+ app_auth_code +"\"" +
"}");
//第三方授权
AlipayOpenAuthTokenAppResponse responseToken = alipayClient.execute(requestLogin1);
if(responseToken.isSuccess()){
out.write("<br/>调用成功" + "\n");
out.write(responseToken.getAuthAppId() + "\n");
out.write(responseToken.getAppAuthToken() + "\n");
out.write(responseToken.getUserId() + "\n");
} else {
out.write("调用失败" + "\n");
}
%>
</body>
</html>
<a href="https://openauth.alipaydev.com/oauth2/publicAppAuthorize.htm?app_id=沙箱环境下的APPID&scope=auth_user&redirect_uri=http://127.0.0.1:8080/alipayTest/return_url.jsp" >用户授权</a><br/>
<%@ page language="java" contentType="text/html; 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.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>支付宝页面跳转同步通知页面</title>
</head>
<body>
<%
//获取支付宝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 = 0; i < values.length; i++) {
valueStr = (i == values.length - 1) ? valueStr + values[i]
: valueStr + values[i] + ",";
}
//乱码解决,这段代码在出现乱码时使用。如果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 + "\n");
//获取用户信息授权
String auth_user = new String(request.getParameter("scope").getBytes("ISO-8859-1"),"UTF-8");
out.write(auth_user + "\n");
//获的第三方登录用户授权auth_code
String auth_code = new String(request.getParameter("auth_code").getBytes("ISO-8859-1"),"UTF-8");
out.write(auth_code + "\n");
String privateKey = "私钥";
String publicKey = "支付宝公钥";
//使用auth_code换取接口access_token及用户userId
//AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","应用APPID",privateKey,"json","UTF-8",publicKey,"RSA2");//正常环境下的网关
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do","沙箱环境先的应用APPID",privateKey,"json","UTF-8",publicKey,"RSA2");//沙箱下的网关
//获取用户信息授权
AlipaySystemOauthTokenRequest requestLogin2 = new AlipaySystemOauthTokenRequest();
requestLogin2.setCode(auth_code);
requestLogin2.setGrantType("authorization_code");
try {
AlipaySystemOauthTokenResponse oauthTokenResponse = alipayClient.execute(requestLogin2);
out.write("<br/>AccessToken:"+oauthTokenResponse.getAccessToken() + "\n");
//调用接口获取用户信息
AlipayClient alipayClientUser = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do", "2016073100131450", privateKey, "json", "UTF-8", publicKey, "RSA2");
AlipayUserInfoShareRequest requestUser = new AlipayUserInfoShareRequest();
try {
AlipayUserInfoShareResponse userinfoShareResponse = alipayClient.execute(requestUser, oauthTokenResponse.getAccessToken());
out.write("<br/>UserId:" + userinfoShareResponse.getUserId() + "\n");//用户支付宝ID
out.write("UserType:" + userinfoShareResponse.getUserType() + "\n");//用户类型
out.write("UserStatus:" + userinfoShareResponse.getUserStatus() + "\n");//用户账户动态
out.write("Email:" + userinfoShareResponse.getEmail() + "\n");//用户Email地址
out.write("IsCertified:" + userinfoShareResponse.getIsCertified() + "\n");//用户是否进行身份认证
out.write("IsStudentCertified:" + userinfoShareResponse.getIsStudentCertified() + "\n");//用户是否进行学生认证
} catch (AlipayApiException e) {
//处理异常
e.printStackTrace();
}
} catch (AlipayApiException e) {
//处理异常
e.printStackTrace();
}
%>
</body>
</html>
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-3 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2026 源码网商城 (www.yuanmawang.com) 版权所有