抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

引入依赖

spring-boot-starter-pay 项目地址

<dependency>
    <groupId>com.seepine</groupId>
    <artifactId>spring-boot-starter-pay</artifactId>
    <version>0.2.0</version>
</dependency>

使用配置

1.配置文件

application.yml

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

2.代码使用

注入 template

@Autowire
private PayJsTemplate payJsTemplate;

方法介绍

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

默认回调地址

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

手动填写回调地址

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

2.异步通知回调验签

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

3.查询订单

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

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

4.关闭订单

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

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

多商户配置

1.配置文件

application.yml,以逗号隔开

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

2.注入代码使用

注入 template

@Autowire
private PayJsTemplate payJsTemplate;

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

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

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

评论