需要用户绑定微信,获取用户openid,通过openid调取微信接口企业付款到零钱接口:
package com.framework.loippi.plugins.wxapppay.withdrawal;
import com.framework.loippi.cache.ConfigCache;
import com.framework.loippi.plugins.wxapppay.MD5;
import com.framework.loippi.plugins.wxapppay.MD5Util;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.config.RequestConfig;
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.jdom.Document;
import org.jdom.input.SAXBuilder;
import org.springframework.util.ResourceUtils;
import javax.net.ssl.SSLContext;
import java.io.*;
import java.math.BigDecimal;
import java.security.KeyStore;
import java.util.*;
public class WeChatWithdrawalUtil {
private static final String TRANS_URL = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
// 微信商户appkey
private static String appKey = ConfigCache.getConfig("wx.pay.key");
// 微信商户证书路径
private static String certPath = ConfigCache.getConfig("wx.pay.ssl.pkcs12File");
// 与商户号关联应用(如微信公众号/小程序)的APPID
private static String mchAppId = ConfigCache.getConfig("wx.app.appId");
// 微信支付分配的商户号
private static String mchId = ConfigCache.getConfig("wx.pay.mchId");
// 商户名称, 如'XXX服务号'
private static String mchName = "顺路汽车养护平台";
//证书密码
private static String sslPassword = ConfigCache.getConfig("wx.pay.ssl.password");
// 请求器的配置
private static RequestConfig requestConfig;