第一、准备工作:引入包
这一套可以很轻松的配置出微信所需要的格式等,你只需要填写就行了,里面的一些字段可以切换修改,看你自己了
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>com.egzosn</groupId>
<artifactId>pay-java-wx</artifactId>
</dependency>
其中涉及一些XML数据转换工具,以及数据转化,如果不喜欢可以自己写
String payUrl = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
// String signInfo = "amount=##check_name=##";
String nonce_str = UUID.randomUUID().toString().trim().replaceAll("-", "");
Map<String, Object> parameters = new TreeMap<String, Object>();
parameters.put("mch_appid",payUtilDTO.getMchAppid());
parameters.put("mchid",payUtilDTO.getMchid());
parameters.put("nonce_str",nonce_str);
parameters.put("partner_trade_no",payUtilDTO.getPartnerTradeNo());
parameters.put("openid",payUtilDTO.getOpenid());
parameters.put("check_name","FORCE_CHECK");
parameters.put("re_user_name",payUtilDTO.getReUserName());
parameters.put("amount",payUtilDTO.getAmount());
parameters.put("desc",payUtilDTO.getDesc());
parameters.put("spbill_create_ip",payUtilDTO.getSpbillCreateIp());
String signStr = parameters.toString();
String mySignStrA = signStr.substring(1,signStr.length()-1).replace(",","&").replace(" ", "");
String mySignStr = mySignStrA+"&key=自己的key";
parameters.put("sign",PayServiceUtil.getStrMd5(mySignStr).toUpperCase());
String requestXML = XML.getMap2Xml(parameters);
String result = HttpSendUtil.sendPostAndCA(payUrl, requestXML);
JSONObject jsonObject = XML.toJSONObject(result);
这里有个PayServiceUtil.getStrMd5是自己的一个工具类,你们可以自己找个md5的转化代码,非常简单,就不用粘贴了
到这里已经介绍完了,这个企业付款,后续还有一些细节;1.要进行把自己的代码弄的更优雅一点;2.要做好打款后的查询,也是有对应接口的,按照这个思路可以很轻松的完成