微信小程序> springboot项目之小程序企业微信支付

springboot项目之小程序企业微信支付

浏览量:600 时间: 来源:小白找大神

小程序企业微信支付

老样子这块东西和推送其实也差不多,都是小程序的后台接口,为什么会涉及到企业微信支付,是因为有抢红包的功能,虽然说这个抢红包的功能可能不是十全十美。但是我觉得有必要记录一下关于小程序企业支付这一块,还是贴代码吧,大多都是代码有问题的地方会具体解。
1、支付业务代码

SortedMapObject, Object packageParams = new TreeMapObject, Object();//微信公众号的appidpackageParams.put("mch_appid", MCH_APPID);//商务号packageParams.put("mchid", MCHID);//随机生成后数字,保证安全性packageParams.put("nonce_str", WxPayUtil.create_random_str());//生成商户订单号packageParams.put("partner_trade_no", WxPayUtil.create_random_str());// 支付给用户openid(每一个用户登录小程序都会产生一个codeId然后用这个codeId可以换取openId,具体方法在推送的文章已经讲过了,就不在多啰嗦了)packageParams.put("openid", wxUserBandEntity.getOpenId());//是否验证真实姓名呢packageParams.put("check_name", "NO_CHECK");//收款用户姓名packageParams.put("re_user_name", mUserId);//企业付款金额,单位为分packageParams.put("amount", amount);//企业付款操作说明信息。必填。packageParams.put("desc", "红包雨活动");//调用接口的机器Ip地址 设为固定packageParams.put("spbill_create_ip", "127.0.0.1");logger.info("打印签名参数" + packageParams.toString());//生成签名String signString = WxPayUtil.creatSign("utf-8", packageParams);//封装退款对象packageParams.put("sign", signString);//将map转化为xmlString reuqestXml = XmlUtil.getRequestXml(packageParams);logger.info("xml格式化的参数::----    " + reuqestXml);try {String weixinPost = ClientCustomSSL.doWxPayClient(WX_URL, reuqestXml);logger.info("打印返回接口" + weixinPost);//7.0 解析返回的xml数据CorporatePaymentResultEntity corporatePaymentResultEntity = XmlUtil.xmlToBean(weixinPost, CorporatePaymentResultEntity.class);//保存抢红包的用户信息redEnvelopedRainInfoEntity.setGrabTime(new Date());redEnvelopedRainInfoEntity.setMUserId(mUserId);if ("SUCCESS".equalsIgnoreCase(corporatePaymentResultEntity.getResult_code()) && "SUCCESS".equalsIgnoreCase(corporatePaymentResultEntity.getReturn_code())) {//8表示退款成功//TODO 执行成功付款后的业务逻辑//return successPayMoneyByBankCard(submitMoney,cmms_amt,enterpriceToCustomerByCard,applyId,companyId);//这个地方是支付成功之后的后续逻辑,比如保存支付信息,保存支付业务,等等具体看自己的需求logger.info("企业支付成功");} else {//2表示失败//9 表示退款失败//TODO 调用service的方法 ,存储失败提现的记录咯//failToPayMoneyByBankCard(enterpriceToCustomerByCard,applyId);//这个地方是支付失败之后的后续逻辑,比如记录订单重新发送等等logger.info("企业支付失败");}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}

以上的代码是具体的支付业务调用代码,然后看一下小程序接口文档–企业支付

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎