微信小程序开发笔记 支付篇⑤——基于WxJava实现微信支付SpringBoot后端接口的使用

1

微信小程序开发笔记 支付篇⑤——基于WxJava实现微信支付SpringBoot后端接口的使用

微信小程序开发笔记 支付篇⑤——基于WxJava实现微信支付SpringBoot后端接口的使用

在前面的几篇文章中,我们已经完成了微信小程序的基本开发和支付相关的配置。在本篇文章中,我们将重点介绍如何基于WxJava实现微信支付的SpringBoot后端接口。

一、前文

在开始之前,需要回顾一下前面的内容:

* 微信小程序的基本开发(包括注册、登录等功能)

* 支付相关的配置(包括appid、secret等信息)

如果您还没有完成这些步骤,请先参考前面的文章。

二、依赖

为了实现微信支付的SpringBoot后端接口,我们需要在pom.xml中添加以下依赖:

```xml

com.github.wxjava

wx-java-sdk

4.5.10

org.springframework.boot

spring-boot-starter-web

```

三、属性

3.1 application.yml在src/main/resources目录下创建application.yml文件,添加以下配置:

```ymlwx:

appid: your_appid secret: your_secret mch_id: your_mch_id key: your_key```

请替换为您的实际appid、secret等信息。

3.2 WxPayProperties在src/main/resources目录下创建WxPayProperties.java文件,添加以下配置:

```java@ConfigurationProperties(prefix = "wx")

public class WxPayProperties {

private String appid;

private String secret;

private String mch_id;

private String key;

public String getAppid() {

return appid;

}

public void setAppid(String appid) {

this.appid = appid;

}

public String getSecret() {

return secret;

}

public void setSecret(String secret) {

this.secret = secret;

}

public String getMch_id() {

return mch_id;

}

public void setMch_id(String mch_id) {

this.mch_id = mch_id;

}

public String getKey() {

return key;

}

public void setKey(String key) {

this.key = key;

}

}

```

四、配置Config

在src/main/java目录下创建WxPayConfig.java文件,添加以下配置:

```java@Configurationpublic class WxPayConfig implements WxPayProperties {

@Value("${wx.appid}")

private String appid;

@Value("${wx.secret}")

private String secret;

@Value("${wx.mch_id}")

private String mch_id;

@Value("${wx.key}")

private String key;

public String getAppid() {

return appid;

}

public void setAppid(String appid) {

this.appid = appid;

}

public String getSecret() {

return secret;

}

public void setSecret(String secret) {

this.secret = secret;

}

public String getMch_id() {

return mch_id;

}

public void setMch_id(String mch_id) {

this.mch_id = mch_id;

}

public String getKey() {

return key;

}

public void setKey(String key) {

this.key = key;

}

}

```

五、应用Controller

在src/main/java目录下创建WxPayController.java文件,添加以下配置:

```java@RestController@RequestMapping("/wxpay")

public class WxPayController {

@Autowired private WxPayConfig wxPayConfig;

@PostMapping("/createOrder")

public String createOrder(@RequestBody WxPayRequest request) {

//生成订单号 String outTradeNo = UUID.randomUUID().toString();

// 统一下单 WxPayUnifiedOrderResponse response = wxPayConfig.getWxPayService().unifiedOrder(outTradeNo, request.getTotalFee(), request.getGoodsDetail());

return response.getTradeNo();

}

@GetMapping("/queryOrder")

public String queryOrder(@RequestParam("out_trade_no") String outTradeNo) {

// 查询订单 WxPayQueryOrderResponse response = wxPayConfig.getWxPayService().queryOrder(outTradeNo);

return response.getTradeState();

}

}

```

六、PostMan调试

6.1 统一下单使用PostMan发送POST请求到 "appid": "your_appid",

"mch_id": "your_mch_id",

"nonce_str": "your_nonce_str",

"body": "测试订单",

"total_fee":1,

"goods_detail": [

{

"goods_name": "测试商品",

"unit_price":1 }

]

}

```

6.2 查询订单(正常)

使用PostMan发送GET请求到

支付小程序微信支付JavaSpringBootWxJava

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 微信支付回调后返回参数

下一篇 工作笔记——微信支付开发相关知识整理