使用场景介绍
- 官方说的太绕了, 简单说就是 app运营商(网站/等等)… 代表你,你想给你网站用户打钱—并且是打到银行卡;
- 那么首先你得提交一些列材料去微信申请
- 申请详细介绍地址参考
https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=3_1
关于下面方法,配置文件参考
提交到微信的必填参数
Map<String, String> reqData = newHashMap();
reqData.put("mch_appid", "商户账号appid"); //申请商户号的appid或商户号绑定的appid
reqData.put("mchid", "商户号"); // 微信支付分配的商户号
reqData.put("nonce_str", "随机字符串"); //随机字符串,不长于32位
reqData.put("partner_trade_no", "商户订单号,需保持唯一性(只能是字母或者数字,不能包含有其他字符)");
reqData.put("amount", "企业付款金额,单位为分");
reqData.put("desc", "企业付款备注"); //必填。注意:备注中的敏感词会被转成字符*
reqData.put("enc_bank_no", encode("收款方银行卡号")); //收款方银行卡号(采用标准RSA算法,公钥由微信侧提供),详见获取RSA加密公钥API
reqData.put("enc_true_name", encode("收款方用户名")); //收款方用户名(采用标准RSA算法,公钥由微信侧提供)详见获取RSA加密公钥API
reqData.put("bank_code", "收款方开户行"); //银行卡所在开户行编号,详见银行编号列表
- encode(“xxx”) 详解
encode加密详情地址
调用支付
- 使用的时候 创建WXWithdrawPay 对象
DemoWXPayConfig config = new DemoWXPayConfig();
WXWithdrawPay wxWithdrawPay = new WXWithdrawPay(config);
Map<String, String> resData = wxWithdrawPay.withdrawToWX(reqData);
String returnCode = resData.get("return_code");
String returnMsg = resData.get("return_msg");