package com.hx.mp.util; import com.hx.exception.ServiceException; import com.hx.util.HttpUtil; import com.hx.util.SimpleTool; import com.hx.util.StringUtils; import net.sf.json.JSONObject; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.ssl.SSLContexts; import org.apache.http.util.EntityUtils; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import javax.net.ssl.SSLContext; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileInputStream; import java.security.KeyStore; import java.util.*; /** 服务商商户Native(二维码扫码支付) * @author ChenJiaHe */ public class CorpWXPayQrUtil { /**服务商-获取二维码支付数据*/ private static final String PAY_NATIVE_URL = "https://api.mch.weixin.qq.com/v3/pay/partner/transactions/native"; /**获取支付二维码数据 * @param sp_appid 服务商申请的公众号appid * @param sp_mchid 服务商户号 * @param sub_appid 子商户申请的公众号appid 不必填 * @param sub_mchid 子商户的商户号 * @param description 商品描述 * @param out_trade_no 商户系统内部订单号 * @param amount 金额(分) * @param notify_url 回调地址 * @return * @throws Exception */ public static JSONObject nativeQr(String sp_appid , String sp_mchid , String sub_appid , String sub_mchid , String description , String out_trade_no , Integer amount ,String notify_url ) throws Exception { JSONObject parameters = new JSONObject(); parameters.put("sp_appid", sp_appid); parameters.put("sp_mchid", sp_mchid); parameters.put("sub_appid", sub_appid); parameters.put("sub_mchid", sub_mchid); parameters.put("description", description); parameters.put("out_trade_no", out_trade_no); parameters.put("notify_url", notify_url); JSONObject amountObj = new JSONObject(); amountObj.put("total",amount); amountObj.put("currency","CNY"); parameters.put("amount", amountObj); JSONObject returnObj = HttpUtil.HttpURLUtilJson(PAY_NATIVE_URL,parameters.toString()); return returnObj; } }