|
@@ -1,13 +1,10 @@
|
|
|
package com.usky.dxtop.service.api;
|
|
|
|
|
|
-import com.sun.org.apache.regexp.internal.RE;
|
|
|
+
|
|
|
import com.usky.dxtop.common.utils.DateUtils;
|
|
|
import com.usky.dxtop.common.utils.StringUtils;
|
|
|
import com.usky.dxtop.common.utils.sign.Md5Utils;
|
|
|
-import org.apache.poi.ss.usermodel.DateUtil;
|
|
|
|
|
|
-import java.awt.font.ShapeGraphicAttribute;
|
|
|
-import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.TreeMap;
|
|
|
|
|
@@ -26,6 +23,10 @@ public class TopApi {
|
|
|
* 扫码支付
|
|
|
*/
|
|
|
private static final String SCAN_TO_PAY_URL = "https://interfacetest.allinpaygx.com/api/access/payInterface/usePaymentCode";
|
|
|
+ /**
|
|
|
+ * 交易查询
|
|
|
+ */
|
|
|
+ private static final String DEAL_SELECT = "https://interfacetest.allinpaygx.com/api/access/payInterface/findOrderInfo";
|
|
|
|
|
|
/**
|
|
|
* 商户编号
|
|
@@ -45,7 +46,7 @@ public class TopApi {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 拼接扫码支付
|
|
|
+ * 拼接扫码支付参数
|
|
|
* @return
|
|
|
*/
|
|
|
public static TreeMap<String, String> generateScanPayApiParam(String orderNo, Integer amount, String note,
|
|
@@ -75,9 +76,47 @@ public class TopApi {
|
|
|
* @param note
|
|
|
* @return
|
|
|
*/
|
|
|
- public static String generateScanPayApi(String orderNo,Integer amount,String note){
|
|
|
+ public static String generateScanPayApi(String orderNo,Integer amount,String note,
|
|
|
+ String storeNo,String backUrl,String orderNumber,
|
|
|
+ String validTime,String remark,String goods){
|
|
|
TreeMap<String, String> params = generateScanPayApiParam(orderNo, amount, note,
|
|
|
- null,null,null,null,null,null);
|
|
|
+ storeNo,backUrl,orderNumber,validTime,remark,goods);
|
|
|
+ return generateApiCommon(params,SCAN_TO_PAY_URL);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 生成交易查询参数
|
|
|
+ * @param merchantOrderNo
|
|
|
+ * @param storeNo
|
|
|
+ * @param trxid
|
|
|
+ * @param groupNo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static TreeMap<String, String> generateDealSelectParam(String merchantOrderNo,String storeNo,String trxid,String groupNo){
|
|
|
+ TreeMap<String, String> tMap = new TreeMap<>();
|
|
|
+ tMap.put("version",VERSION);
|
|
|
+ tMap.put("merchantNo",MERCHANT_NO);
|
|
|
+ tMap.put("merchantOrderNo",merchantOrderNo);
|
|
|
+ tMap.put("storeNo",storeNo);
|
|
|
+ tMap.put("trxid",trxid);
|
|
|
+ tMap.put("groupNo",groupNo);
|
|
|
+ return tMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 交易查询api
|
|
|
+ * @param merchantOrderNo
|
|
|
+ * @param storeNo
|
|
|
+ * @param trxid
|
|
|
+ * @param groupNo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static String generateDealSelectApi(String merchantOrderNo,String storeNo,String trxid,String groupNo){
|
|
|
+ TreeMap<String, String> param = generateDealSelectParam(merchantOrderNo, storeNo, trxid, groupNo);
|
|
|
+ return generateApiCommon(param,DEAL_SELECT);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static String generateApiCommon(TreeMap<String, String> params,String url){
|
|
|
StringBuilder buf = new StringBuilder();
|
|
|
for (Map.Entry<String, String> entry : params.entrySet()) {
|
|
|
if (!StringUtils.isBlank(entry.getValue()) && !"sign".equals(entry.getKey())) {
|
|
@@ -86,10 +125,12 @@ public class TopApi {
|
|
|
}
|
|
|
String changeBuf = buf.toString();
|
|
|
String substring = changeBuf.substring(0, changeBuf.length() - 1);
|
|
|
- return String.format("%s?%s&sign=%s",SCAN_TO_PAY_URL,
|
|
|
+ return String.format("%s?%s&sign=%s",url,
|
|
|
substring,
|
|
|
signData(params));
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 参数加签
|
|
|
* 参数加签规则,key+value拼接(value为空时,key value不参与拼接),以key首字母ascii码排序,最后拼接上secret串再进行MD5加密,得到的MD5密钥字母转大写,例:amount1merchantNo1210500001030341dff192f644b5892338f0d964a6b2
|