企业付款到银行卡

package com.wsz.test;


import java.util.SortedMap;
import java.util.TreeMap;


import com.wsz.config.WChatInfo;
import com.wsz.utils.GetRSA;
import com.wsz.utils.HttpClientCustomSSL;
import com.wsz.utils.SignUtils;
import com.wsz.utils.StringUtils;
import com.wsz.utils.XMLUtils;


public class TestWChatToBank {


/**
* @param args
* @throws Exception 
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String source ="姓名";
String pank = "卡号";
//注意 这里的  publicKeyPKCS8  是上一步获取微信支付公钥后经openssl 转化成PKCS8格式的公钥
String publicKeyPKCS8 =
"MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsCnQkpccue430Pwzg3h5"+"\r"+
"1lF7HJs0k4UMh5UinQ2ShDtNwP2lAXlsMLL4+yN5Z6f6Eta63QRbCnTYe7LaaEG1"+"\r"+
"zeTxBgLlccTx2SFFIHDHlUHbdxPEqKbH2QjzZYdnU4JWFAuPzyvsakSqi4akrGwZ"+"\r"+
"h6IqWIXxKexF4xGC1x3SyFFHF0/lBbTDvQXrHwYhFXPOwM4OMe1N63pkrGCHt888"+"\r"+
"D/P7rtqBYU4jdc2PJj+tasii85R/wWcuAdnZgZDEEn9ex317QeiSRD2xTnIe3gkt"+"\r"+
"yiS7IRlXGAB3Hh/QoRUMc2UsuVuv2/Gn0MiwRRow"+"\r"+
"zwIDAQ"+"\r"; 
String enc_true_name =GetRSA.getRSA(source,publicKeyPKCS8);
String enc_bank_no = GetRSA.getRSA(pank,publicKeyPKCS8);
    String bank_code = "1066";
    String amount = "1000";
    String desc ="test";
    String partner_trade_no = "2018013101635";
  
    String nonce_str1 =  StringUtils.getStrRandom(28);
    //获取签名
    SortedMap<Object,Object> parameters1 = new TreeMap<Object,Object>();
parameters1.put("mch_id", WChatInfo.MCH_ID);
parameters1.put("partner_trade_no", partner_trade_no);
parameters1.put("nonce_str", nonce_str1);
parameters1.put("enc_bank_no", enc_bank_no);
parameters1.put("enc_true_name", enc_true_name);
parameters1.put("bank_code", bank_code);
parameters1.put("amount", amount);
parameters1.put("desc", desc);
String sign1 = SignUtils.creatSign(WChatInfo.CHARSET, parameters1);
System.out.println("获取签名成功"+sign1);
//请求企业付款
TreeMap<String, String> tmap1 = new TreeMap<String, String>();
tmap1.put("mch_id", WChatInfo.MCH_ID);
System.out.println("商户号:"+WChatInfo.MCH_ID);
tmap1.put("partner_trade_no", partner_trade_no);
System.out.println("商户企业付款单号:"+partner_trade_no);
tmap1.put("nonce_str", nonce_str1);
System.out.println("随机字符串:"+nonce_str1);
tmap1.put("enc_bank_no", enc_bank_no);
System.out.println("收款方银行卡号:"+enc_bank_no);
tmap1.put("enc_true_name", enc_true_name);
System.out.println("收款方用户名:"+enc_true_name);
tmap1.put("bank_code", bank_code);
System.out.println("收款方开户行:"+bank_code);
tmap1.put("amount", amount);
System.out.println("付款金额:"+amount);
tmap1.put("desc", desc);
System.out.println("付款说明:"+desc);
tmap1.put("sign", sign1);
String xml2 = XMLUtils.getRequestXml(tmap1);
System.out.println(xml2);
String  xml3= HttpClientCustomSSL.httpClientResultPANK(xml2);
System.out.println(xml3);
}

}

输出报错:

下一步
获取签名成功95B199417CF2F81993A0D4BEA025D07C
商户号:xxxxxxx
商户企业付款单号:2018013101635
随机字符串:Z9p9TVVmS9Ig9A6D36lmyywuWLxY
收款方银行卡号:GbwYIm3roWI1YvqUES+5VcYGzkKNVfD6h4oUp9M+MLtQGAsiL5INlYLpBcibNR11Mu9jIofmZ0B8SNO+30JCZoE8M8LclQU6MmU/NP+cyy+Ghqe/uk00DHlM4DC+BZXfduR7t2gGPMiV9DAzNElDHqUjJ75uAz0a54ya487/quGX8FW/xDCcDdj7v/Z/OayST9LKi0vSDegBZmodSMl6fH13xDB4Q+foV+egYnDWysFOq4sIqzuPBVht+JiCYnkZmcZ76oAGDDmgRFXt8++K8yFA5S8YyqyK73iSb7hifMti2EK+rcp3WJaaUCVS9y+oI+/yYlplz9PCKFMFNxf44w==
收款方用户名:CfvCPcSVsO0ebNMAgHUWSFS3RDAzAmhFprNqPK967FIrYaSJQPfz34rdsu1qwZJgIZcj7YJ0y7rzRBXBi4gMtazl/HAkueU9S0ZC3NCXc4mo7FTXRE/B6Ft3OZOW9yJPxwYt5Z6Q/SNic6lIuYisqA/V+46Bc7WfIgbiG4zr9zgHFfJz8DO9TU4yW7AKei+LiSjiIXwvD4mnti4apvr6BW5Hdo+zE0I2H9GFnUiinwTX+m/PKLmIbcfy1cIIdAsUuRCltNN3fEhlo1WkIT7ax9UlLgoiWBehQwkcP4BLTwg7ZmT7xepqzME3trIM3REI/qISREw8PX9K0SKh8/c7XA==
收款方开户行:1066
付款金额:1000
付款说明:test
<xml><amount>1000</amount><bank_code>1066</bank_code><desc>test</desc><enc_bank_no>GbwYIm3roWI1YvqUES+5VcYGzkKNVfD6h4oUp9M+MLtQGAsiL5INlYLpBcibNR11Mu9jIofmZ0B8SNO+30JCZoE8M8LclQU6MmU/NP+cyy+Ghqe/uk00DHlM4DC+BZXfduR7t2gGPMiV9DAzNElDHqUjJ75uAz0a54ya487/quGX8FW/xDCcDdj7v/Z/OayST9LKi0vSDegBZmodSMl6fH13xDB4Q+foV+egYnDWysFOq4sIqzuPBVht+JiCYnkZmcZ76oAGDDmgRFXt8++K8yFA5S8YyqyK73iSb7hifMti2EK+rcp3WJaaUCVS9y+oI+/yYlplz9PCKFMFNxf44w==</enc_bank_no><enc_true_name>CfvCPcSVsO0ebNMAgHUWSFS3RDAzAmhFprNqPK967FIrYaSJQPfz34rdsu1qwZJgIZcj7YJ0y7rzRBXBi4gMtazl/HAkueU9S0ZC3NCXc4mo7FTXRE/B6Ft3OZOW9yJPxwYt5Z6Q/SNic6lIuYisqA/V+46Bc7WfIgbiG4zr9zgHFfJz8DO9TU4yW7AKei+LiSjiIXwvD4mnti4apvr6BW5Hdo+zE0I2H9GFnUiinwTX+m/PKLmIbcfy1cIIdAsUuRCltNN3fEhlo1WkIT7ax9UlLgoiWBehQwkcP4BLTwg7ZmT7xepqzME3trIM3REI/qISREw8PX9K0SKh8/c7XA==</enc_true_name><mch_id><![CDATA[1496858762]]></mch_id><nonce_str><![CDATA[Z9p9TVVmS9Ig9A6D36lmyywuWLxY]]></nonce_str><partner_trade_no>2018013101635</partner_trade_no><sign><![CDATA[95B199417CF2F81993A0D4BEA025D07C]]></sign></xml>
路径:E:\wx\cert\apiclient_cert.p12
<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[参数错误,请检查参数]]></return_msg><result_code><![CDATA[FAIL]]></result_code><err_code><![CDATA[SYSTEMERROR]]></err_code><err_code_des><![CDATA[解密真实姓名或银行卡号出错]]></err_code_des><mch_id><![CDATA[xxxxxxx]]></mch_id></xml>

该问题已经得到解决:

        很可能就是你的公钥问题,还有就是填充方式


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值