1.使用到的jar包
<!--微信支付 -->
<dependency>
<groupId>com.github.wxpay</groupId>
<artifactId>wxpay-sdk</artifactId>
<version>3.0.9</version>
</dependency>
<!--httpclient-->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
2.ServiceImpl中写统一下单接口
public Map createNative(String out_trade_no, String total_fee) {
Map<String,String> param=new HashMap<>();
param.put("appid", appid);
param.put("mch_id", partner);
param.put("nonce_str", WXPayUtil.generateNonceStr());
param.put("body", "测试数据");
param.put("out_trade_no", out_trade_no);
param.put("total_fee",total_fee);
param.put("spbill_create_ip", "127.0.0.1");
param.put("notify_url", notifyurl);
param.put("trade_type", "NATIVE");
param.put("product_id",out_trade_no);
try {
String xmlParam = WXPayUtil.generateSignedXml(param, partnerkey);
HttpClientM client = new HttpClientM("https://api.mch.weixin.qq.com/pay/unifiedorder");
client.setHttps(true);
client.setXmlParam(xmlParam);
client.post();
String result = client.getContent();
System.out.println(result);
Map<String, String> resultMap = WXPayUtil.xmlToMap(result);
Map<String, String> map=new HashMap<>();
map.put("code_url", resultMap.get("code_url"));
map.put("total_fee", total_fee);
map.put("out_trade_no",out_trade_no);
return map;
} catch (Exception e) {
e.printStackTrace();
return new HashMap<>();
}
}
上面用到的HttpClientM类
package com.pj.project.wxpay;
import java.io.IOException;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.text.ParseException;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import javax.net.ssl.SSLContext;
import org.apache.http.Consts;
import org.apache.http.HttpEntity;
import org.apache.http.NameValuePair;</