100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信支付企业付款到零钱

微信支付企业付款到零钱

时间:2023-10-29 07:33:03

相关推荐

微信支付企业付款到零钱

萌新第一次写博客,希望大佬们多多支持,以下是借鉴大佬的代码自己封装的一个方法。

//企业付款到零钱public Result returnWechatMoney(HttpServletRequest request, String money, String openId) throws Exception {Map<String, String> params = new HashMap<>();params.put("mch_appid", WXPayConfig.APPID);//微信公众号的appidparams.put("mchid", WXPayConfig.mch_id);//商务号params.put("nonce_str", WXPayUtil.generateNonceStr());//随机生成后数字,保证安全性params.put("partner_trade_no", WXPayUtil.getorderid());//生成商户订单号params.put("openid", openId);// 支付给用户openidparams.put("check_name", "NO_CHECK");//是否验证真实姓名呢params.put("re_user_name", "测试用户");//收款用户姓名params.put("amount", money);//企业付款金额,单位为分params.put("desc", "测试");//企业付款操作说明信息。必填。params.put("spbill_create_ip", WXPayUtil.getAddrIp(request));//调用接口的机器Ip地址try {String sign = WXPayUtil.generateSignature(params, NowData.PATERNERKEY);//签名params.put("sign", sign);//封装退款对象String orderxml = WXPayUtil.mapToXml(params); //将数据转成XML格式String ru = CertHttpUtil.postData("https://api.mch./mmpaymkttransfers/promotion/transfers",orderxml, WXPayConfig.mch_id, WXPayConfig.certificate_url);//退还零钱System.out.println("ru=================" + ru);Map<String, String> returnMap = WXPayUtil.xmlToMap(ru);//接口返回数据if (returnMap.containsKey("result_code") && returnMap.get("result_code").equals("SUCCESS")) {return new Result(true, StatusCode.OK, "企业付款到零钱成功。");} else if (returnMap.containsKey("err_code") && returnMap.get("err_code").equals("AMOUNT_LIMIT")) {//商户金额不足return new Result(false, StatusCode.AMOUNT_LIMIT, "商户余额不足,请联系相关人员处理。");} else if (returnMap.containsKey("err_code") && returnMap.get("err_code").equals("SENDNUM_LIMIT")) {//该用户今日付款次数超过限制return new Result(false, StatusCode.SENDNUM_LIMIT, "该用户今日付款次数超过限制,如有需要请登录微信支付商户平台更改API安全配置.");} else if (returnMap.containsKey("err_code") && returnMap.get("err_code").equals("OPENID_ERROR")) {return new Result(false, StatusCode.OPENID_ERROR, "openid与商户appid不匹配.");} else if (returnMap.containsKey("err_code") && returnMap.get("err_code").equals("MONEY_LIMIT")) {//已达到付款给此用户额度上限.return new Result(false, StatusCode.MONEY_LIMIT, "已达到付款给此用户额度上限.");} else {return new Result(false, StatusCode.ERROR, "企业付款到零钱出现未知错误。");}} catch (Exception e) {throw e;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。