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)
       }
   })
}
相关推荐
q***718513 分钟前
海康威视摄像头ISUP(原EHOME协议) 摄像头实时预览springboot 版本java实现,并可以在浏览器vue前端播放(附带源码)
java·前端·spring boot
_Jimmy_14 分钟前
JUC包里的同步组件主要实现了AQS的哪些主要方法
java
范纹杉想快点毕业21 分钟前
《嵌入式开发硬核指南:91问一次讲透底层到架构》
java·开发语言·数据库·单片机·嵌入式硬件·mongodb
毕设源码-邱学长25 分钟前
【开题答辩全过程】以 基于Python的Bilibili平台数据分析与可视化实现为例,包含答辩的问题和答案
开发语言·python·数据分析
芝麻馅汤圆儿27 分钟前
c文件编译
c语言·开发语言
千疑千寻~29 分钟前
【Qt】QT的程序打包
开发语言·qt
咚咚王者36 分钟前
人工智能之编程进阶 Python高级:第十一章 过渡项目
开发语言·人工智能·python
大G的笔记本40 分钟前
Java常见设计模式面试题(高频)
java·开发语言·设计模式
老鼠只爱大米1 小时前
Java设计模式之建造者模式(Builder)详解
java·设计模式·建造者模式·builder·23种设计模式
笃行客从不躺平1 小时前
线程池原理复习
java·开发语言