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)
       }
   })
}
相关推荐
越来越无动于衷3 分钟前
手写tomcat:基本功能实现(3)
java·tomcat
Uranus^5 分钟前
使用Spring Boot和Spring Security构建安全的RESTful API
java·spring boot·spring security·jwt·restful api
珂朵莉MM5 分钟前
2024 睿抗机器人开发者大赛CAIP-编程技能赛-专科组(国赛)解题报告 | 珂学家
开发语言·人工智能·算法·leetcode·职场和发展·深度优先·图论
qq_543248526 分钟前
Tomcat的调优
java·tomcat
菥菥爱嘻嘻10 分钟前
JS手写代码篇---手写 new 操作符
开发语言·javascript·原型模式
Mcworld85712 分钟前
String的一些固定程序函数
java
越来越无动于衷12 分钟前
手写tomcat:基本功能实现(4)
java·tomcat
编程乐学(Arfan开发工程师)14 分钟前
05、基础入门-SpringBoot-HelloWorld
java·spring boot·后端
小智学长 | 嵌入式14 分钟前
进阶-数据结构部分:2、常用排序算法
java·数据结构·算法
_龙小鱼_35 分钟前
Kotlin变量与数据类型详解
开发语言·微信·kotlin