微信支付接口说明以及demo
有关微信支付的一些工具类以及deno public static String getCodeurl(WxPayDto tpWxPayDto){ // 1 参数 // 订单号 String orderId = tpWxPayDto.getOrderId(); // 附加数据 原样返回 String attach = ""; // 总金额以分为单位,不带小数点 String totalFee = getMoney(tpWxPayDto.getTotalFee()); // 订单生成的机器 IP String spbill_create_ip = tpWxPayDto.getSpbillCreateIp(); // 这里notify_url是 支付完成后微信发给该链接信息,可以判断会员是否支付成功,改变订单状态等。 String notify_url = notifyurl; String trade_type = "NATIVE"; // 商户号 String mch_id = partner; // 随机字符串 String nonce_str = getNonceStr(); // 商品描述根据情况修改 String body = tpWxPayDto.getBody(); // 商户订单号 String out_trade_no = orderId; SortedMap<String, String> packageParams = new TreeMap<String, String>(); packageParams.put("appid", appid); packageParams.put("mch_id", mch_id); packageParams.put("nonce_str", nonce_str); packageParams.put("body", body); packageParams.put("attach", attach); packageParams.put("out_trade_no", out_trade_no); // 这里写的金额为1 分到时修改 packageParams.put("total_fee", totalFee); packageParams.put("spbill_create_ip", spbill_create_ip); packageParams.put("notify_url", notify_url); packageParams.put("trade_type", trade_type); RequestHandler reqHandler = new RequestHandler(null, null); reqHandler.init(appid, appsecret, partnerkey); String sign = reqHandler.createSign(packageParams); String xml = "<xml>" + "<appid>" + appid + "</appid>" + "<mch_id>" + mch_id + "</mch_id>" + "<nonce_str>" + nonce_str + "</nonce_str>" + "<sign>" + sign + "</sign>" + "<body><![CDATA[" + body + "]]></body>" + "<out_trade_no>" + out_trade_no + "</out_trade_no>" + "<attach>" + attach + "</attach>" + "<total_fee>" + totalFee + "</total_fee>" + "<spbill_create_ip>" + spbill_create_ip + "</spbill_create_ip>" + "<notify_url>" + notify_url + "</notify_url>" + "<trade_type>" + trade_type + "</trade_type>" + "</xml>"; String code_url = ""; String createOrderURL = "https://api.mch.weixin.qq.com/pay/unifiedorder"; code_url = new GetWxOrderno().getCodeUrl(createOrderURL, xml); System.out.println("code_url----------------"+code_url); return code_url; }