예제 #1
0
 public static TreeMap<String, String> unifiedorder(
     String body, String ip, String total_fee, String out_trade_no)
     throws URIException, UnsupportedEncodingException {
   TreeMap<String, String> paramsMap = new TreeMap<String, String>();
   TreeMap<String, String> resultMap = new TreeMap<String, String>();
   String nonce_str = System.currentTimeMillis() + "";
   // 统一下单
   paramsMap.put("appid", appid);
   paramsMap.put("body", body); // 商品描述
   paramsMap.put("mch_id", mch_id);
   paramsMap.put("nonce_str", nonce_str); // 随机字符串
   paramsMap.put("notify_url", notify_url); // 通知地址
   paramsMap.put("out_trade_no", out_trade_no); // 商户订单号
   paramsMap.put("spbill_create_ip", ip); // 终端IP
   paramsMap.put("total_fee", total_fee); // 总金额
   paramsMap.put("trade_type", "APP"); // 交易类型
   String xml = sendPost(paramsMap, key, unifiedorder);
   ReceiveXmlEntity xmlEntity = new ReceiveXmlProcess().getMsgEntity(xml);
   if ("FAIL".equals(xmlEntity.getReturn_code())) return resultMap;
   // 调起支付 返回app端参数
   resultMap.put("appid", appid);
   resultMap.put("partnerid", mch_id); // 商户号
   resultMap.put("prepayid", xmlEntity.getPrepay_id()); // 统一下单返回回话Id
   resultMap.put("package", "Sign=WXPay"); // 暂时固定值
   resultMap.put("noncestr", nonce_str); // 随机字符串,不长于32位
   resultMap.put("timestamp", nonce_str); // 时间戳
   String paramsStr = toQueryString(resultMap);
   resultMap.put("sign", MD5(paramsStr).toUpperCase()); // 签名
   return resultMap;
 }
예제 #2
0
 public static void main(String[] args) throws Exception {
   TreeMap<String, String> paramsMap = new TreeMap<String, String>();
   TreeMap<String, String> resultMap = new TreeMap<String, String>();
   String nonce_str = System.currentTimeMillis() + "";
   // 统一下单
   // String app = ConfigUtil.getConfigParam("WX.APPID");
   paramsMap.put("appid", "wx210fd7c732469f74");
   paramsMap.put("body", "app测试第二次"); // 商品描述
   paramsMap.put("mch_id", "1259144401");
   paramsMap.put("nonce_str", nonce_str); // 随机字符串
   paramsMap.put(
       "notify_url", "http://101.200.231.150:8080/flowers/customer/async_inform.do"); // 通知地址
   paramsMap.put("out_trade_no", nonce_str); // 商户订单号
   paramsMap.put("spbill_create_ip", "10.10.11.240"); // 终端IP
   paramsMap.put("total_fee", "1"); // 总金额
   paramsMap.put("trade_type", "APP"); // 交易类型
   String xml =
       sendPost(
           paramsMap,
           "92529b042a053742dd38a899802544c6",
           "https://api.mch.weixin.qq.com/pay/unifiedorder");
   ReceiveXmlEntity xmlEntity = new ReceiveXmlProcess().getMsgEntity(xml);
   if ("FAIL".equals(xmlEntity.getReturn_code())) return;
   System.out.println(
       "返回结果 " + xmlEntity.getReturn_code() + " prepay_id  " + xmlEntity.getPrepay_id());
   // 调起支付 返回app端参数
   resultMap.put("appid", "wx210fd7c732469f74");
   resultMap.put("partnerid", "1259144401"); // 商户号
   resultMap.put("prepayid", xmlEntity.getPrepay_id()); // 统一下单返回回话Id
   resultMap.put("package", "Sign=WXPay"); // 暂时固定值
   resultMap.put("noncestr", nonce_str); // 随机字符串,不长于32位
   resultMap.put("timestamp", nonce_str); // 时间戳
   String paramsStr = toQueryString(resultMap);
   System.out.println(paramsStr);
   paramsMap.put("sign", MD5(paramsStr).toUpperCase()); // 签名
 }