日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 支付宝第三方应用授权,支付宝开发平台—第三方应用授权

發布時間:2023/12/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 支付宝第三方应用授权,支付宝开发平台—第三方应用授权 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

支付寶開發平臺——第三方應用授權

制作支付寶AR應用時遇到第三方應用授權,特在此記錄下來供有需要的朋友們參考!如有不足,歡迎補充!!!

1、打開支付寶開發平臺,注冊成為開發者,點擊開發者中心,在我的應用中創建一個應用;點擊功能信息,添加我們需要的功能:

因為我們的應用沒有上線,APPID是無效的,這里阿里給了我們一個解決方案,就是通過沙箱模式進行接口調試,下面我們來配一下我們的沙箱模式:

APPID : 沙箱應用APPID??( *正式環境下的APPID :你開發應用的APPID )

支付寶網關:* 沙箱下的網關: ? ? ? ? https://openapi.alipaydev.com/gateway.do

( *正式環境下的網關 : https://openapi.alipay.com/gateway.do)

RSA2(SHA256)密鑰(推薦) : (配置過RAS2就可以不用配置RAS1了) 生成RSA密鑰方法可參照支付寶文檔 :https://doc.open.alipay.com/docs/doc.htm?treeId=291&articleId=105971&docType=1

應用網關:用于接收支付寶異步通知,如口碑開店中的開發者門店被動通知;實際使用時配置;

授權回調地址:?授權url中的redirect_uri必須與此值相同

AES密鑰:?目前不再使用

(應用網關和授權回調地址,這里因為是本地調試)

做好這些準備工作我們就可以開始進行我們的具體功能實現了,首先我打開支付寶開發平臺開發文檔,點擊基礎能力->第三方應用授權,閱讀一遍內容,我回到文檔的第三步:

注意這里的app_id要填寫沙箱應用的ID,不然是無法完成調用支付登錄頁面的。

url 拼接: https://openauth.alipaydev.com/oauth2/appToAppAuth.htm?app_id=沙箱應用APPID&redirect_uri=http://127.0.0.1:8080/aliar_tools/aliar/aliartest.action

下面java后端業務處理:(struts2 框架)

import org.apache.struts2.ServletActionContext;

import com.alipay.api.AlipayApiException;

import com.alipay.api.AlipayClient;

import com.alipay.api.DefaultAlipayClient;

import com.alipay.api.request.AlipayOpenAuthTokenAppRequest;

import com.alipay.api.response.AlipayOpenAuthTokenAppResponse;

import com.opensymphony.xwork2.ActionSupport;

public class AliArTestAction extends ActionSupport{

private static final long serialVersionUID = 1L;

/*APPID*/

private static final String APP_ID = "20***50023260";

/*應用私鑰 —— 本地生成的私鑰*/

private static final String APP_PRIVATE_KEY = ?"應用私鑰2048";

/*支付寶公鑰 —— 應用公鑰對應的支付寶公鑰*/

private static final String ALIPAY_PUBLIC_KEY = "支付寶公鑰";

/*訪問應用授權URL時會自動生成 ?app_auth_code

* url 拼接: https://openauth.alipaydev.com/oauth2/appToAppAuth.htm?app_id=2016081500253260&redirect_uri=http://127.0.0.1:8080/aliar_tools/aliar/aliartest.action

*/

private String app_auth_code;

public String getApp_auth_code() {

return app_auth_code;

}

public void setApp_auth_code(String app_auth_code) {

this.app_auth_code = app_auth_code;

}

public String aliartest(){

String str = "";

System.out.println("app_auth_code = "+app_auth_code);

/*

* 正式環境下的網關 : https://openapi.alipay.com/gateway.do

* 沙箱下的網關: ? ? ? ? https://openapi.alipaydev.com/gateway.do

*/

//?? ?AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","GBK",ALIPAY_PUBLIC_KEY,"RSA2");

AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipaydev.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","GBK",ALIPAY_PUBLIC_KEY,"RSA2");

AlipayOpenAuthTokenAppRequest request = new AlipayOpenAuthTokenAppRequest();

/*

* grant_type : 授權類型 ; 如果使用app_auth_code換取token,則為authorization_code,如果使用refresh_token換取新的token,則為refresh_token

* code : 授權碼 ; 與refresh_token二選一,用戶對應用授權后得到,即第一步中開發者獲取到的app_auth_code值

* refresh_token : 刷新令牌 ; 與code二選一,可為空,刷新令牌時使用

*/

request.setBizContent("{" +

"\"grant_type\":\"authorization_code\"," +

"\"code\":\""+ app_auth_code +"\"" +

// ? ?"\"refresh_token\":\""+ refresh_token +"\"" +

"}");

AlipayOpenAuthTokenAppResponse response;

try {

response = alipayClient.execute(request);

if(response.isSuccess()){

System.out.println("調用成功");

} else {

System.out.println("調用失敗");

}

str = response.getBody();

System.out.println(response.getBody());

} catch (AlipayApiException e) {

// TODO Auto-generated catch block

e.printStackTrace();

str = "{\"resultCode\":-1,\"resultDesc\":\"aliartest異常\",\"res\":[]}";

}

ServletActionContext.getRequest().setAttribute("userXml",str);

return SUCCESS;

}

}

===============

授權后頁面響應:

{

"alipay_open_auth_token_app_response":?{

"code":?"10000",

"msg":?"Success",

"app_auth_token":?"201744f3904de393dafaf8ae3b4X8",

"app_refresh_token":?"201b9c16be43bfd4b6d86d82752F58",

"auth_app_id":?"20****50023260",

"expires_in":?31536000,

"re_expires_in":?32140800,

"user_id":?"217112581"

},

"sign":?"oMt87ixU/6BmMokewP1ytRiShfk5K3356mp+F6TRbaNZi403FIMSNnf42Ae9/IQWAmDED6VD4KNN8rCs3y0ANQ/OUr4XGVA9R+HaVbX99rlh3ysEOxTyLQwgg8Ek06ZrBoe7LsQ5pVCytcsoQ4MZcP9GkoQ=="

}

注意:?代碼中使用的公鑰 為: 支付寶公鑰,?不是本地生成的公鑰

jdk下載地址:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.bj1TCE&treeId=54&articleId=103419&docType=1

總結

以上是生活随笔為你收集整理的android 支付宝第三方应用授权,支付宝开发平台—第三方应用授权的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。