微信商品订单号重复,导致统一下单失败。

用户点多次支付,提示商品订单号重复,导致同一下单失败。如何避免这样的问题。

前端防止表单重复提交,后端可以token验证

对订单号进行判断,前端后端都可以加的

判断订单号ID,应该可以避免

使用时间戳生成订单号,就避免了重复

1:订单号最好定义一个确定唯一规则去生成,
2:重复提交问题,前后台最好都控制一下,因为只是一端的控制也可能会出问题,方法很多,比如前段控制在指定时间这个请求只能提交一次;

是使用 时间戳(精确度到毫秒 ) + 业务号 + 机器号 + 四位随机数 即可。

需要你做一个防重复提交

1.前端(APP 或网页) 请求时,锁屏,控制
2.后台 订单号 生成规则 (保证每次生成唯一)

——可以用年月日时分秒+自增数字,数字放缓存,默认1 取到了 +1再存,取不到再归零,过期时间弄个600左右毫秒就行了,改方法还需加锁

前端做一个放重复提交,可以用表单发起请求后就 disabled 返回数据后就 移除这个属性

后台判断,如果这个订单未支付则继续执行

1.最简单方案 先记录流水,订单号作为唯一索引,插入失败不请求微信,插入成功再请求。
2.显示付款界面时 从后台获取订单号,界面隐藏订单号,提交后js控制不可单机。
3.订单号最好使用数据库自增值作为唯一标识。

你要有一个支付中的字段PAYING 在支付中的订单 不能再次下单~~~~