java 微信公众号支付,微信提现到银行卡,微信企业付款到银行卡demo

java 微信公众号支付,微信公众号提现到银行卡,企业付款到银行卡demo

开发文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1#

开通条件:

  1、商户号已入驻90日

  2、商户号有30天连续正常交易

 3、 登录微信支付商户平台-产品中心,开通企业付款。

开始之前认真看一遍开发文档还是很有用的。


1、 调用获取RSA公钥API获取RSA公钥,落地成本地文件(PKCS#1)假设wx_public_key.pem

String url = "https://fraud.mch.weixin.qq.com/risk/getpublickey";
Map<String,String> map = new HashMap<>();
map.put("mch_id",Constant.WXPAY_MCHID);
map.put("nonce_str", WXPayUtil.generateNonceStr());
map.put("sign_type","MD5");
map.put("sign", WXPayUtil.generateSignature(map,Constant.WXPAY_KEY));
String certificate_path = "conf"+File.separator+"apiclient_cert.p12";
String request = CommonUtil.request(url, WXPayUtil.mapToXml(map), certificate_path);
return request;

2、 RSA公钥格式PKCS#1转PKCS#8

    1)、openssl安装:http://blog.csdn.net/shiyong1949/article/details/78212971?locationNum=10&fps=1

    2)、命令:openssl rsa -RSAPublicKey_in -in <filename> -pubout

    3)、替换原来wx_public_key.pem文件的内容为转换后的PKCS#8(最终需要用的文件)

     如下:


3、java   部分demo

String request = "";
Map<String,String> data = new HashMap<>();
if(WithDrawApplyTypeEnum.WxWalletWithdraw.getKey()==withdrawApply.getType().intValue()){    //提现到零钱
    data = getWithdrawWalletMap(withdrawApply,withdrawApply.getPlatform().intValue());
    request = CommonUtil.request(WXPayConstants.WITHDRAW_WALLET_URL, WXPayUtil.mapToXml(data), Constant.APICLIENT_CERT_P12);
}else if(WithDrawApplyTypeEnum.WxBankWithdraw.getKey()==withdrawApply.getType().intValue()){   //提现到银行卡
    data = getWithdrawBankMap(withdrawApply);
    request = CommonUtil.request(WXPayConstants.WITHDRAW_BANK_URL, WXPayUtil.mapToXml(data), Constant.APICLIENT_CERT_P12);
}
Map<String, String> result = WXPayUtil.xmlToMap(request);
if("SUCCESS".equals(result.get(
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值