package org.yeshi.utils.wx;
|
|
import java.io.InputStream;
|
import java.math.BigDecimal;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import org.yeshi.utils.HttpUtil;
|
import org.yeshi.utils.StringUtil;
|
|
/**
|
* 微信支付帮助类
|
*
|
* @author Administrator
|
*
|
*/
|
public class WXPayUtil {
|
|
public static String payToOpenId(String appId, String openId, String mchId, String key, String pwd,
|
InputStream cert, String orderNo, BigDecimal money, String desc, String ip) {
|
Map<String, String> map = new HashMap<>();
|
map.put("mch_appid", appId);
|
map.put("mchid", mchId);
|
map.put("nonce_str", StringUtil.getRandomCode(32));
|
map.put("partner_trade_no", orderNo);
|
map.put("openid", openId);
|
map.put("check_name", "NO_CHECK");
|
map.put("amount", money.multiply(new BigDecimal(100)).intValue() + "");
|
map.put("desc", desc);
|
map.put("spbill_create_ip", ip);
|
map.put("sign", WXUtil.getSignMD5(map, key));
|
String entity = WXUtil.loadWXMessage(map);
|
try {
|
String result = HttpUtil.httpsPost("https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers",
|
entity, pwd, cert);
|
System.out.println(result);
|
return result;
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
return null;
|
}
|
|
}
|