企业付款到零钱API开发~~~付款到微信
更多精彩⽂章请关注微信公众号:Java编程指南
近⽇,在开发“微信企业付款到零钱”的功能。之前有过微信开发的经验,但是第⼀次接触“付款到零钱“这⼀块的业务,查询了很多的博
客资料以及⾛了很多的弯路。也发现“企业付款到零钱”分享的博客并不多。特地写了该博客,希望对你们有帮助。个⼈浅薄的见解
代码下载地址如下:
链接:
提取码:weft
【何时⽤到证书?】与⽀付不⼀样,企业⽀付功能在发送post请求的时候,需要加载⾃⼰的⼀个证书之后,带着证书去请求退款才可以。这
~ 证书说明 java开发只需要:apiclient_cert.p12
1、拼凑所需要传递的参数 map集合
2、根据要传递的参数⽣成⾃⼰的签名
3、把签名放到map集合中【因为签名也要传递过去,看API】
4、将当前的map结合转化成xml格式
5、发送请求到企业付款到零钱的Api。发送请求是⼀个⽅法来的POST
6、解析返回的xml数据===》map集合
7、根据map中的result_code AND return_code来判断是否成功与失败
不得不再啰嗦⼀下。下⾯设计到签名、mapToXml转化、xmlToMap转化、发送请求到API。这些⽅法都可以在下⾯⽹址看到。这⾥我Xml
转化成Map。我是习惯⽤⼀个Bean接收,也有范例的代码,⼤家模仿能⼒要强⼀点。这次贴出来给⼤家看看吧
/xiaozhegaa/article/details/79127283
@SuppressWarnings("unchecked")
public static EnterpriceToCustomer parXmlToMapEnterpriceToCustomer(String xml){
EnterpriceToCustomer enterpriceToCustomer = new EnterpriceToCustomer();
try {
StringReader read = new StringReader(xml);
// 创建新的输⼊源SAX 解析器将使⽤ InputSource 对象来确定如何读取 XML 输⼊
InputSource source = new InputSource(read);
// 创建⼀个新的SAXBuilder
SAXBuilder sb = new SAXBuilder();
if("err_code".equals(e())){
_code(t());
}
if("err_code_des".equals(e())){
_code_des(t());
}
}
}
} catch (JDOMException e) {
tackTrace();
} catch (IOException e) {
tackTrace();
}catch (Exception e) {
tackTrace();
}
return enterpriceToCustomer;
}
@Test
public void OldBook(){
//1.0 拼凑企业⽀付需要的参数
String appid = ; //微信公众号的appid
String mch_id = _id; //商户号
String nonce_str = domStringByLength(32); //⽣成随机数
String partner_trade_no = domStringByLength(32); //⽣成商户订单号
String openid = "oYiAh0ypHoaYFoVFhAsnv1aJ****"; // ⽀付给⽤户openid
String check_name = "NO_CHECK"; //是否验证真实姓名呢
String re_ur_name = "⼩郑"; //收款⽤户姓名
String amount = "100"; //企业付款⾦额,单位为分
String desc = "测试开发,稍后会还给公司的"; //企业付款操作说明信息。必填。
String spbill_create_ip = "192.168.**.****; //
//2.0 ⽣成map集合
SortedMap
("mch_appid", appid); //微信公众号的appid
("mchid", mch_id); //商务号
("nonce_str",nonce_str); //随机⽣成后数字,保证安全性
("partner_trade_no",partner_trade_no); //⽣成商户订单号
("openid",openid); // ⽀付给⽤户openid
("check_name",check_name); //是否验证真实姓名呢
String wxUrl = "/mmpaymkttransfers/promotion/transfers"; //获取退款的api接⼝
try {
String weixinPost = nd(wxUrl, reuqestXml).toString();
//7.0 解析返回的xml数据
riceToCustomer refundResult = mlToMapEnterpriceToCustomer(weixinPost);
if("SUCCESS".equalsIgnoreCa(ult_code()) && "SUCCESS".equalsIgnoreCa(urn_code())){
//8表⽰退款成功
//TODO 执⾏成功付款后的业务逻辑
//return successPayMoneyByBankCard(submitMoney,cmms_amt,enterpriceToCustomerByCard,applyId,companyId);
}el{
//9 表⽰退款失败
//TODO 调⽤rvice的⽅法 ,存储失败提现的记录咯
//failToPayMoneyByBankCard(enterpriceToCustomerByCard,applyId);
⾃此,我们就学会了“企业付款到个⼈零钱”的开发,希望对你们有帮助
本文发布于:2023-11-02 16:55:49,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/1698915350204268.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:企业付款到零钱API开发~~~付款到微信.doc
本文 PDF 下载地址:企业付款到零钱API开发~~~付款到微信.pdf
留言与评论(共有 0 条评论) |