抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

引入依赖

spring-boot-starter-pay 项目地址

1
2
3
4
5
<dependency>
<groupId>com.seepine</groupId>
<artifactId>spring-boot-starter-pay</artifactId>
<version>0.2.0</version>
</dependency>

使用配置

1.配置文件

application.yml

1
2
3
4
5
# payJs配置
pay-js:
m-ch-id: ${your mChId}
secret: ${your secret}
notify-url: ${your notifyUrl}

2.代码使用

注入 template

1
2
@Autowire
private PayJsTemplate payJsTemplate;

方法介绍

1.native 支付(返回支付二维码)

默认回调地址

1
2
3
PayJsRes payRes=payJsTemplate.channel().pay(String subject, //商品标题
String outTradeNo, //已方生成订单号
Double amount); //金额,单位元

手动填写回调地址

1
2
3
4
PayJsRes payRes=payJsTemplate.channel().pay(String subject, //商品标题
String outTradeNo, //已方生成订单号
Double amount, //金额,单位元
String notifyUrl); //异步通知回调地址

2.异步通知回调验签

1
2
3
4
5
6
    @ResponseBody
@PostMapping(value = "notify")
public Object fallback(PayJsReq payJsReq){
Boolean isSign=payJsTemplate.channel().checkSign(payJsReq);
//业务逻辑...
}

3.查询订单

一般用于关闭订单前主动查询订单状态,避免已支付成功但回调未收到,误操作业务订单状态

1
2
// status1表示支付成功,其他参数可查看PayJsRes中带有check注解,或查询官方文档
PayJsRes payRes=payJsTemplate.channel().check(String payJsOrderId);

4.关闭订单

用来主动关闭订单,避免业务订单已设为过期,但买家又能继续扫码支付

1
2
// status1表示支付成功,其他参数可查看PayJsRes中带有check注解,或查询官方文档
PayJsRes payRes=payJsTemplate.channel().close(String payJsOrderId);

多商户配置

1.配置文件

application.yml,以逗号隔开

1
2
3
4
pay-js:
m-ch-id: ${mChId1},${mChId2}
secret: ${secret1},${secret2}
notify-url: ${notifyUrl1},${notifyUrl1}

2.注入代码使用

注入 template

1
2
@Autowire
private PayJsTemplate payJsTemplate;

3.native 支付(返回支付二维码)

通过 channel(index)来指定商户,从 0 开始

1
2
3
PayJsRes payRes=payJsTemplate.channel(${index}).pay(String subject, //商品标题
String outTradeNo, //已方生成订单号
Double amount); //金额,单位元

评论