支付寶支付 - 支付寶服務商獲取用戶信息的坑


記錄一下 開發支付寶 服務商角色 獲取用戶信息的坑

 

重要的點記錄一下:

默認現在已經獲取到了  app_auth_token

然后調用接口的時候 注意 app_id這個重要的參數 

 

用戶信息授權

1、拼接用戶信息授權鏈接

拼接規則:https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=SCOPE&redirect_uri=ENCODED_URL

注意:

(1)appid為商戶的appid,在服務商代商戶獲取的用戶信息的過程中,該appid設置為第三方應用授權換取應用授權令牌接口返回的auth_app_id(授權商戶的AppId)參數值;

(2)獲取會員信息,scope必傳auth_user(獲取用戶信息、網站支付寶登錄);

(3)redirect_uri :該授權回調地址是第三方應用授權換取應用授權令牌接口返回的auth_app_id(授權商戶的AppId)對應應用設置的授權回調地址,即在授權商戶應用中查看,而不是服務商應用中查看;

2、獲取auth_code

用戶訪問(appid設置是授權商戶appid的)用戶信息授權鏈接返回獲取auth_code。

3、獲取access_token

服務商調用alipay.system.oauth.token(換取授權訪問令牌)進行獲取access_token。

AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
request.setCode(auth_code);
request.setGrantType("authorization_code");

// 使用auth_code換取 access_token,請求帶上app_auth_token
AlipaySystemOauthTokenResponse alipaySystemOauthTokenResponse = defaultAlipayClient.certificateExecute(request,null,appAuthToken);

 

注意:

(1)接口中設置的appid為服務商的appid,而不是授權商戶的appid;

(2)接口中必須設置第三方應用授權換取應用授權令牌接口返回的app_auth_token(商戶授權令牌);

(三)獲取會員信息

服務商調用alipay.user.info.share(支付寶會員授權信息查詢接口)代商戶獲取用戶信息use_id、昵稱、頭像等。

//公鑰證書模式下發起授權請求 請求帶上app_auth_token
AlipayUserInfoShareResponse alipayUserInfoShareResponse = defaultAlipayClient.certificateExecute(alipayUserInfoShareRequest,alipaySystemOauthTokenResponse.getAccessToken(),appAuthToken);

 

注意:

(1)接口中設置的appid為服務商的appid,而不是授權商戶的appid;

(2)接口中必須設置第三方應用授權換取應用授權令牌接口返回的app_auth_token(商戶授權令牌);

(3)接口中設置用戶信息授權換取授權訪問令牌接口返回的access_token。

 

 

一定要注意

支付寶加密方式證書的模式下,調用接口的形式

設置app_auth_token和accessToken的代碼方式:

注:accessToken沒有可以設置為null。

defaultAlipayClient.certificateExecute(request,null,appAuthToken);

 

 

 

 

參考:

https://openclub.alipay.com/club/history/read/12762

 

https://openclub.alipay.com/club/history/read/12868


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM