主要对接银联下单,查询订单,关闭订单接口
-------------------------------------------------------测试对接类-------------------------------------------------------
@Slf4j
public class PayMock {
//测试支付url---银联提供
public static String payOrderUrl="https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
//测试查询/关闭订单url---银联提供
public static String queryOrderUrl="https://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
//get-url最大长度
public static int getUrlMax=2083;
//测试来源编号---银联提供
public static String msgSrcId="xxxx";
//测试机构商户号---银联提供
public static String instMid="xxxxxxxxxx";
//测试商户号---银联提供
public static String mid="xxxxxxxxxxxxxxx";
//测试终端号---银联提供
public static String tid="xxxxxxxxxxxxxxxxx";
//测试消息来源---银联提供
public static String msgSrc="xxxxxxxxxxxxxxx";
//测试环境密钥---银联提供
public static String key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
//支付下单
public static void getUnionPayOrder(String payType){
//填充待签名数据
SortedMap<Object, Object> sginParameters = new TreeMap<Object, Object>();
String nowTime=UnionPayUtil.getNowDateToString(0);
String willTime=UnionPayUtil.getNowDateToString(60);
sginParameters.put("msgSrc", msgSrc);
if(payType.equals("1")){
//微信
sginParameters.put("msgType", "WXPay.jsPay");
}else{
//支付宝
sginParameters.put("msgType", "trade.jsPay");
}
sginParameters.put("requestTimestamp", nowTime);
sginParameters.put("expireTime", willTime);
sginParameters.put("merOrderId", msgSrcId+"0000000001");
sginParameters.put("mid", mid);
sginParameters.put("tid", tid);
sginParameters.put("instMid", instMid);
sginParameters.put("orderDesc", "缴费");
sginParameters.put("totalAmount", "1");
sginParameters.put("signType","SHA256");
//签名
String sign=UnionPayUtil.getSHA256StrJava(UnionPayUtil.createSign(sginParameters,key));
log.info("下单支付签名后的值:"+sign);
//填充发送信息
SortedMap<Object, Object> getParameters = new TreeMap<Object, Object>();
getParameters.put("msgSrc", UnionPayUtil.getURLEncoder(msgSrc));
if(payType.equals("1")){
getParameters.put("msgType", UnionPayUtil.getURLEncoder("WXPay.jsPay"));
}else{
getParameters.put("msgType", UnionPayUtil.getURLEncoder("trade.jsPay"));
}
getParameters.put("requestTimestamp", UnionPayUtil.getURLEncoder(nowTime));
getParameters.put("expireTime", UnionPayUtil.getURLEncoder(willTime));
getParameters.put("merOrderId", UnionPayUtil.getURLEncoder(msgSrcId+"0000000001"));
getParameters.put("mid", UnionPayUtil.getURLEncoder(mid));
getParameters.put("tid", UnionPayUtil.getURLEncoder(tid));
getParameters.put("instMid", UnionPayUtil.getURLEncoder(instMid));
getParameters.put("orderDesc", UnionPayUtil.getURLEncoder("缴费"));
getParameters.put("totalAmount", UnionPayUtil.getURLEncoder("1"));
getParameters.put("signType",UnionPayUtil.getURLEncoder("SHA256"));
getParameters.put("sign",sign);
String getUrlString=UnionPayUtil.createSign(getParameters,null);
String getUrl=payOrderUrl+"?"+getUrlString;
log.info("下单支付推送的值:"+getUrl);
String