winter 1 год назад
Родитель
Сommit
736e3d53e1
2 измененных файлов: 49 добавлений и 21 удалений
  1. +2
    -1
      mallinkCallback/src/main/java/com/iformall/controller/callback/AliPayController.java
  2. +47
    -20
      mallinkService/src/main/java/com/iformall/service/pay/alipay/api/AliPayApi.java

+ 2
- 1
mallinkCallback/src/main/java/com/iformall/controller/callback/AliPayController.java Просмотреть файл

@@ -96,7 +96,8 @@ public class AliPayController extends BaseController {
writeResponse(response,"Param Error!state is null.");
return;
}
String tenantId = new String(Base64Util.decode(state));
//String tenantId = new String(Base64Util.decode(state));
String tenantId = state;
if (StringUtils.isBlank(tenantId)) {
writeResponse(response,"Param Error!tenantId is null.");
return;


+ 47
- 20
mallinkService/src/main/java/com/iformall/service/pay/alipay/api/AliPayApi.java Просмотреть файл

@@ -18,6 +18,7 @@ import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

@@ -72,29 +73,55 @@ public class AliPayApi {
* @throws UnsupportedEncodingException
*/
public static String getAppAuthUrl(Config config,String callback,String param) throws UnsupportedEncodingException {
String paramstr = "";
// String paramstr = "";
// if (!StringUtils.isBlank(param)) {
// paramstr = "&state="+Base64Util.encode(param).replaceAll("=", "");
// }
// return "https://openauth.alipay.com/oauth2/appToAppAuth.htm?app_id="+config.appId+"&application_type=TINYAPP,WEBAPP,MOBILEAPP,PUBLICAPP&redirect_uri="+URLEncoder.encode(callback, "utf-8")+paramstr;
String state = "";
if (!StringUtils.isBlank(param)) {
paramstr = "&state="+Base64Util.encode(param).replaceAll("=", "");
state = param;
}
return "https://openauth.alipay.com/oauth2/appToAppAuth.htm?app_id="+config.appId+"&application_type=TINYAPP,WEBAPP,MOBILEAPP,PUBLICAPP&redirect_uri="+URLEncoder.encode(callback, "utf-8")+paramstr;
// String state = "";
// if (!StringUtils.isBlank(param)) {
// state = param;
Map map = new LinkedHashMap();
map.put("platformCode", "O");
map.put("taskType", "INTERFACE_AUTH");
Map agentOpParam = new LinkedHashMap();
agentOpParam.put("redirectUri", callback);
String[] apptypes = new String[]{"TINYAPP","WEBAPP","MOBILEAPP","PUBLICAPP"};
agentOpParam.put("appTypes", apptypes);
agentOpParam.put("isvAppId", config.appId);
agentOpParam.put("state", state);
// if (StringUtils.isNotBlank(state)) {
// agentOpParam.put("state", Base64Util.encode(state).replaceAll("=", ""));
// }
// Map map = new HashMap();
// map.put("platformCode", "0");
// map.put("taskType", "INTERFACE_AUTH");
//
// Map agentOpParam = new HashMap();
// agentOpParam.put("redirectUri", callback);
// String[] apptypes = new String[]{"MOBILEAPP","WEBAPP","PUBLICAPP","TINYAPP","BASEAPP"};
// agentOpParam.put("appTypes", apptypes);
// agentOpParam.put("isvAppId", config.appId);
// agentOpParam.put("state", Base64Util.encode(param));
//
// map.put("agentOpParam", agentOpParam);
//
// return "https://b.alipay.com/page/message/tasksDetail?bizData="+URLEncoder.encode(JSON.toJSONString(map), "utf-8");
map.put("agentOpParam", agentOpParam);
return "https://b.alipay.com/page/message/tasksDetail?bizData="+URLEncoder.encode(JSON.toJSONString(map), "utf-8");
}
public static void main(String[] args) {
Map map = new LinkedHashMap();
map.put("platformCode", "O");
map.put("taskType", "INTERFACE_AUTH");
Map agentOpParam = new LinkedHashMap();
agentOpParam.put("redirectUri", "https://callback.malls.iformall.com/api/alipay/notify/callback");
String[] apptypes = new String[]{"TINYAPP","WEBAPP","MOBILEAPP","PUBLICAPP"};
agentOpParam.put("appTypes", apptypes);
agentOpParam.put("isvAppId", "2021002140616334");
agentOpParam.put("state", "1096");
map.put("agentOpParam", agentOpParam);
try {
String s = "https://b.alipay.com/page/message/tasksDetail?bizData="+URLEncoder.encode(JSON.toJSONString(map), "utf-8");
System.out.println(s);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**


Загрузка…
Отмена
Сохранить