从微信支付平台中我们要下载证书,设置秘钥,确保appid一致,获取商户号,
微信api说明,请求需要双向证书。 所以需要去商户管理后台下载api证书 微信支付平台 (https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F)
在支付平台->账户中心->api安全 下载证书 并设置秘钥
然后在营销中心->支付后配置 查看发起提现公众号的appid 此appid一定要和获取用户openid的appid一致
以下是代码:
-----------------------------------------WeixinpayUtil------------------------------------------------
package com.xxx.utils;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.company.user.bean.EnterprisesPayment;
/**
*
* @author 作者 ldh:
*
* @version 创建时间:2019年10月15日 下午1:57:29
*
* 类说明 微信提现 xml数据 签名等
*
*/
public class WeixinpayUtil {
static Logger log = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
public static String createDocumentForEnterprisesPayment(EnterprisesPayment enterprisesPayment) {
final StringBuffer result = new StringBuffer();
result.append("<?xml version='1.0' encoding='UTF-8' standalone='yes' ?><xml>");
result.append("<mch_appid>" + enterprisesPayment.getMch_appid() + "</mch_appid>");
result.append("<mchid>" + enterprisesPayment.getMchid() + "</mchid>");
result.append("<nonce_str>" + enterprisesPayment.getNonce_str() + "</nonce_str>");
result.append("<partner_trade_no>" + enterprisesPayment.getPartner_trade_no() + "</partner_trade_no>");
result.append("<openid>" + enterprisesPayment.getOpenid() + "</openid>");
result.append("<check_name>" + enterprisesPayment.getCheck_name() + "</check_name>");
result.append("<re_user_name>" + enterprisesPayment.getRe_user_name() + "</re_user_name>");
result.append("<amount>" + enterprisesPayment.getAmount() + "</amount>");