java对接银联

主要对接银联下单,查询订单,关闭订单接口

-------------------------------------------------------测试对接类-------------------------------------------------------

@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 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值