Java微信支付接入(7) - API V3 Native 商户定时查询本地订单

后端定义商户查单接口

支付成功后,商户侧查询本地数据库,订单是否支付成功

java 复制代码
/**
 * 查询本地订单状态
 */
@ApiOperation("查询本地订单状态")
@GetMapping("/query-order-status/{orderNo}")
public R queryOrderStatus(@PathVariable String orderNo) {
    String orderStatus = orderInfoService.getOrderStatus(orderNo);
    if (OrderStatus.SUCCESS.getType().equals(orderStatus)) {//支付成功
        return R.ok();
   }
    return R.ok().setCode(101).setMessage("支付中...");
}

前端定时轮询查单

在二维码展示页面,前端定时轮询查询订单是否已支付,如果支付成功则跳转到订单页面

javascript 复制代码
//启动定时器
this.timer = setInterval(() => {
    //查询订单是否支付成功
    this.queryOrderStatus()
}, 3000)
javascript 复制代码
// 查询订单状态
queryOrderStatus() {
    orderInfoApi.queryOrderStatus(this.orderNo).then(response => {
        console.log('查询订单状态:' + response.code)
        // 支付成功后的页面跳转
        if (response.code === 0) {
            console.log('清除定时器')
            clearInterval(this.timer)
            // 三秒后跳转到订单列表
            setTimeout(() => {
                this.$router.push({ path: '/success' })
           }, 3000)
       }
   })
}
相关推荐
安迪小宝12 分钟前
python基础语法13-装饰器
开发语言·前端·python
小八四爱吃甜食13 分钟前
【R语言绘图】圈图绘制代码
开发语言·r语言
残月只会敲键盘14 分钟前
C++ Lambda表达式简明指南:新手快速上手
开发语言·c++
SoFlu软件机器人29 分钟前
AI 重构 Java 遗留系统:从静态方法到 Spring Bean 注入的自动化升级
java·spring·重构
liwulin050631 分钟前
【JAVA】JVM 堆内存“缓冲空间”的压缩机制及调整方法
java·开发语言·jvm
Simon—欧阳43 分钟前
C#异步方法返回Task<T>的同步调用
开发语言·前端·javascript
程序员小假1 小时前
十个JVM核心知识点【全文万字保姆级详细讲解】
java·后端
michaelzhouh1 小时前
php调用大模型应用接口实现流式输出以及数据过滤
开发语言·php·php调用大模型api流式输出
小郝 小郝1 小时前
【C语言】浮点数在内存的储存
c语言·开发语言
泉城老铁1 小时前
springboot对接钉钉,发送钉钉消息
java·前端·后端