• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 

pom 增加

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

 

附上github https://github.com/Wechat-Group/WxJava/wiki

一、证书申请

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

二、WxPayConfig配置

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

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

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

/**
 * 企业支付WxPayConfig配置
 * @author hsw
 */
@Configuration
public class WxConfig {

//    @Autowired
//    private WxMpProperties wxMpProperties;

    @Bean
    public 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;
    }


    @Bean
    public 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;
    }

 

 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
小程序提现到零钱发布时间:2022-07-18
下一篇:
小程序mina框架与配置发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap