快捷搜索: 王者荣耀 脱发

微信支付-开源项目WxJava简单使用(公众号示例)

直接开始正片

一、maven引入jar

<dependency>
  <groupId>com.github.binarywang</groupId>
  <artifactId>(不同模块参考下文)</artifactId>
  <version>4.1.0</version>
</dependency>
<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-pay</artifactId>
    <version>4.1.0</version>
</dependency>

二、配置文件

在application.yml中,加入如下配置,(下面的值我都轻微的改过了,不可以拿过去就用哦!) 其中p12证书,这里没写,但是注释写的很清楚,不影响下单。本人目前接触到它的作用,退款时候需要用到,其他还没用到过。能力有限罪过,罪过。

三、装载配置

将上述,yml中配置的参数,装载进去。以下直接官方例子,开抄如下:

WxPayProperties.java

WxPayConfiguration

package com.hky.config.wxpay;

import com.github.binarywang.wxpay.config.WxPayConfig;
import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author Binary Wang
 */
@Configuration
@ConditionalOnClass(WxPayService.class)
@EnableConfigurationProperties(WxPayProperties.class)
@AllArgsConstructor
public class WxPayConfiguration {
          
   
  private WxPayProperties properties;

  @Bean
  @ConditionalOnMissingBean
  public WxPayService wxService() {
          
   
    WxPayConfig payConfig = new WxPayConfig();
    payConfig.setAppId(StringUtils.trimToNull(this.properties.getAppId()));
    payConfig.setMchId(StringUtils.trimToNull(this.properties.getMchId()));
    payConfig.setMchKey(StringUtils.trimToNull(this.properties.getMchKey()));
    payConfig.setSubAppId(StringUtils.trimToNull(this.properties.getSubAppId()));
    payConfig.setSubMchId(StringUtils.trimToNull(this.properties.getSubMchId()));
    payConfig.setKeyPath(StringUtils.trimToNull(this.properties.getKeyPath()));

    // 可以指定是否使用沙箱环境
    payConfig.setUseSandboxEnv(false);

    WxPayService wxPayService = new WxPayServiceImpl();
    wxPayService.setConfig(payConfig);
    return wxPayService;
  }

}

四、编写controller

继续抄官方demo:(由于原demo中内容较多,只保留一个统一下单,其他的自行去官方demo查看)

五、postman测试接口

{
          
   
    "body":"hky测试支付",
    "totalFee":"1",
    "notifyUrl":"https://www.hanky.work:8890",
    "outTradeNo":"hanky34kdsjfkajsdf",
    "spbillCreateIp":"127.0.0.1",
    "tradeType":"JSAPI",
    "openid":"oOiaA6pjAWn09asbMQ5SPcI4M9r8"
}

简单解释一下:

经验分享 程序员 微信小程序 职场和发展