700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 企业付款到零钱(微信小程序提现 用户提现到零钱)

企业付款到零钱(微信小程序提现 用户提现到零钱)

时间:2019-10-06 10:50:51

相关推荐

企业付款到零钱(微信小程序提现 用户提现到零钱)

原创路径 : /qq_38439885/article/details/90677850

pom 增加

<dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-pay</artifactId><version>3.2.0</version></dependency>

附上github /Wechat-Group/WxJava/wiki

一、证书申请

企业付款需要用到p12证书,证书可以在商户平台的 账户平台 - API安全 - API证书 中申请到。(注:需要升级一下)

二、WxPayConfig配置

将 com.github.binarywang.wxpay.service.WxPayService 作为Bean注入到项目中

实现代码如下,具体作用读者可引入pom后自行查看,binarywang作者的注释非常详细。有问题可留言讨论

我在使用@Autowired 注解时无法注入 所以就注掉了 具体调用方法下面会贴上

/*** 企业支付WxPayConfig配置* @author hsw*/@Configurationpublic class WxConfig {// @Autowired// private WxMpProperties wxMpProperties;@Beanpublic WxPayConfig wxPayConfig() {// final List<WxMpProperties.MpConfig> configs = wxMpProperties.getConfigs();WxPayConfig payConfig = new WxPayConfig();// payConfig.setAppId(configs.get(1).getAppId());// payConfig.setMchId(configs.get(1).getPayMchId());// payConfig.setMchKey(configs.get(1).getPaySecretKey());// payConfig.setNotifyUrl(configs.get(1).getPayResultUrl());// payConfig.setKeyPath(configs.get(1).get);payConfig.setTradeType("JSAPI");payConfig.setSignType("MD5");return payConfig;}@Beanpublic WxPayService wxPayService(WxPayConfig payConfig) {WxPayService wxPayService = new WxPayServiceImpl();wxPayService.setConfig(payConfig);return wxPayService;}

3、API调用

/*** 进行微信提现操作 (企业付款至用户零钱)* @param openId* @param amout提现金额* @param partnerTradeNo 单号* @param desc备注*/private EntPayResult getWithdrawal(String openId, BigDecimal amout,String partnerTradeNo, String desc, HttpServletRequest request){final List<WxMpProperties.MpConfig> configs = wxMpProperties.getConfigs();EntPayRequest entPayRequest = new EntPayRequest();entPayRequest.setAppid(configs.get(1).getAppId());entPayRequest.setMchId(configs.get(1).getPayMchId()); entPayRequest.setPartnerTradeNo(partnerTradeNo);entPayRequest.setOpenid(openId);entPayRequest.setCheckName("NO_CHECK");entPayRequest.setAmount(Integer.valueOf(amout.multiply(new BigDecimal(100)).setScale(0,BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString()));entPayRequest.setDescription(desc);entPayRequest.setSpbillCreateIp(IpUtils.getIpAddr(request));EntPayResult entPayResult = null;try {//此处调用=============================================================// 通过Java配置来实例化Spring容器AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(WxConfig.class);// 在Spring容器中获取Bean对象WxConfig wxConfig = context.getBean(WxConfig.class);WxPayService wxPayService = wxConfig.wxPayService(wxConfig.wxPayConfig());entPayResult = wxPayService.getEntPayService().entPay(entPayRequest);log.info("entPayResult : " + entPayResult);System.out.println(entPayResult);} catch (WxPayException e) {log.error("付款失败,返回报文" + e);throw new ApiException(e.getCustomErrorMsg());}return entPayResult;}

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