开发者社区> 问答> 正文

微信支付问题、重新请求下单、商户单号重复:报错

微信请求统一下单后,修改了价格再次发送请求 就提示商户单号重复,用的是订单号请求的。不想两次请求更改为不同的订单号。 图片上这两个 参数有什么作用。设置了 订单失效时间。但时间都过了,去查询的时候,订单依然是未支付状态不会失效。 而且我调用关闭订单,关闭该订单号的,再重新发起请求商户单号重复,也是。请问这种情况下,该怎么处理?

展开
收起
kun坤 2020-06-08 11:07:22 3141 0
1 条回答
写回答
取消 提交回答
  • 针对于修改价格这种情况,就不能直接用不会改变的订单号去请求了,有一个比较简单的方式,就是每次支付的时候在订单号后面加上'_323232' ,下划线和随机值,微信支付成功返回的时候去掉下划线后面的即可得到实际订单号。######还有一种方式就是订单和支付分开,每次订单支付的时候就去请求支付系统,支付系统在表里生成一个支付流水号,用这个流水号去当成订单号完成支付######

    强烈不推荐。最稳妥就是一个订单号一个支付流。

    不然涉及到后期的对账、退款等都是自己给自己找事。

    如果用户重复支付了,后面查账更是麻烦。

    所以支付公司限制了订单号,一个订单号只能有一笔交易。


    ######回复 @Wickywe : 以前财付通订单号不唯一,尼玛有客户银行卡支付的,结果有银行出问题了回调没到财付通那,其他银行又支付了,悲剧的订单重复支付,退款只能找财付通的人。 所以为了避免这个问题,他们借鉴了支付宝的经验。 老老实实的重新生成订单号吧,不然坑的就是你自己。######你好,对于我这种情况,有没有什么好的处理思想?######你好,如果这样弄的话,那下载对账单的时候,处理起来,会不会很麻烦? ######修改了价格也可以认为是一笔新交易,原交易直接作废。######你好,作废是指把自己后台先前的订单作废吗? 可是我用先前的订单号请求过统一下单,修改价格后,单号没变,再次请求就报 商户单号重复######RandomUtils######这不是个 产生随机值的工具么?######

    试用一下BeeCloud秒支付吧,这些问题完全都不需要自己处理了,https://beecloud.cn

    ######请问楼主的问题解决了没?我目前遇到一个类似问题,商户订单号可以重复请求下单接口,但是如果修改了价格就会出现订单号重复的错误,只有先关闭之前的订单,重新发起订单,但是微信支付要关闭订单,得是订单生成5分钟之后######https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2 参数规定6:已支付过或已调用关单、撤销(请见后文的API列表)的订单号不能重新发起支付。 所以就算你关闭订单(当然需要),也不能以原来的订单号重新发起请求
    2020-06-08 17:59:53
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
微信广告引擎与播放节奏算法实践 立即下载
微信H5视频播放器在海量业务下的实践 立即下载
微信高效运维之路 立即下载