java 实现获取支付宝授权获取会员信息
生活随笔
收集整理的這篇文章主要介紹了
java 实现获取支付宝授权获取会员信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1.配置支付寶所需參數
2.實現類?
Java根據獲取到的參數,拼接起來返回給安卓,讓安卓調用支付寶授權獲取會員信息:
| @ApiOperation(value = "拼接支付寶授權頁面所需參數", httpMethod = "POST", produces = "application/json;charset=UTF-8") @ApiImplicitParam(value = "*用戶token", name = "token",defaultValue ="", dataType = "String",paramType="header") @PostMapping(value = "/transfer/connectAlipayParams") public Result connectAlipayParams(HttpServletRequest request, HttpServletResponse response) {Map<String,Object> map = new HashMap<String ,Object>();try {String redirect = alipayService.buildAuthInfoMap();map.put("datas",redirect);return Result.ok(map);}catch (Exception e){e.printStackTrace();return Result.error(901,"拼接支付寶授權頁面所需參數失敗!");} } |
3.用到的工具方法
| @Value("${app.alipay.appid}") private String appid;@Value("${app.alipay.pid}") private String pid; @Value("${app.alipay.rsapri}") private String rsapri; public String buildAuthInfoMap() throws AlipayApiException, UnsupportedEncodingException {Map<String, String> keyValues = new HashMap<String, String>();// 商戶簽約拿到的app_id,如:2013081700024223keyValues.put("app_id", appid);// 商戶簽約拿到的pid,如:2088102123816631keyValues.put("pid", pid);// 服務接口名稱, 固定值keyValues.put("apiname", "com.alipay.account.auth");// 服務接口名稱, 固定值keyValues.put("methodname", "alipay.open.auth.sdk.code.get");// 商戶類型標識, 固定值keyValues.put("app_name", "mc");// 業務類型, 固定值keyValues.put("biz_type", "openservice");// 產品碼, 固定值keyValues.put("product_id", "APP_FAST_LOGIN");// 授權范圍, 固定值keyValues.put("scope", "kuaijie");// 商戶唯一標識,如:kkkkk091125keyValues.put("target_id", "kkkkk091125");// 授權類型, 固定值keyValues.put("auth_type", "AUTHACCOUNT");// 簽名類型keyValues.put("sign_type", "RSA2");StringBuilder sbInfo = new StringBuilder();for (String key : keyValues.keySet()) {sbInfo.append(key).append("=").append(keyValues.get(key)).append("&");}sbInfo = sbInfo.deleteCharAt(sbInfo.length() - 1);keyValues.put("sign", AlipaySignature.rsa256Sign(sbInfo.toString(), rsapri, "UTF-8"));StringBuilder fInfo = new StringBuilder();for (String key : keyValues.keySet()) {fInfo.append(key).append("=").append(URLEncoder.encode(keyValues.get(key), "UTF-8")).append("&");}fInfo = fInfo.deleteCharAt(fInfo.length() - 1);return fInfo.toString();} |
在該功能中用的依賴如下:
| <dependency><groupId>com.alipay.sdk</groupId><artifactId>alipay-sdk-java</artifactId><version>4.9.5.ALL</version> </dependency> |
?
總結
以上是生活随笔為你收集整理的java 实现获取支付宝授权获取会员信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring boot实现导出数据到ex
- 下一篇: Java实现提现到微信的功能