收藏
回答

“商户订单号重复”这个问题该怎么解决呢?

近期在开发微信支付中碰到一个问题:下单后发起支付统一下单,然后取消支付,后台修改了支付价格,再发起支付就会出现“201 商户订单号重复”;通过关闭订单再发起支付也不行,请教一下遇到需要修改价格的情况下怎么发起支付呢?

回答关注问题邀请回答
收藏

5 个回答

  • 支付社区AI助手
    支付社区AI助手
    09-06

    根据开发者们的答复,你遇到的问题,解决方案总结提炼如下:

    订单号重复的原因是在多次请求微信创建订单接口时,订单号相同但其他参数存在至少一个不相同。

    建议方案:在修改价格后,重新生成一个新的订单号,避免使用之前的订单号。

    详细操作流程:

    1.在修改价格后,不要使用之前的订单号发起支付请求。

    2. 重新生成一个新的订单号。

    3. 使用新的订单号发起支付请求。

    09-06
    有用
    回复 1
    • l.rf
      l.rf
      11-15
      同一笔支付请求,因为银行卡余额不足或者网络波动造成支付失败,同一个订单号是否能再次发起支付请求成功
      11-15
      回复
  • false
    false
    2021-07-05

    这个才是最正确的解答:

    导致问题出现的原因:多次请求微信的创建订单接口,第2、3、... N次 请求的订单号 与 第1次相同,但其它参数存在至少一个不相同!比如trade_type、 total_fee、attach、product_id等等参数;

    举例:

    1. 用户向微信端创建了订单,但未支付, 业务需要传入了attach参数, attach未作持久化而是动态传入的, 刷新当前支付页面,那么就报"重复单号了";
    2. 用户向微信端创建了订单,因某些业务修改了金额,再次使用相同订单号请求下单接口,显然total_fee给修改了;
    3. 用户在微信浏览器创建了订单,但未支付,这时你的接口请求参数应该是 trade_typoe是jsapi 。用户又因某些原因到 PC端打开了该未支付订单,进行支付, 这样你系统调起传入的tarde_type应该是native扫码支付, trade_type 值给修改了, 同时 native扫码支付又会传入 product_id ,那么就存在两个参数不一样了;
    2021-07-05
    有用 1
    回复
  • @
    @
    发表于移动端
    2021-11-06
    这些
    2021-11-06
    有用
    回复
  • onlyone
    onlyone
    2020-11-09

    遇到修改价格的情况下,需要重新换个单号才行,你第一次提交的支付信息已经在微信后台状态为未支付状态。

    2020-11-09
    有用
    回复 3
    • 云
      2020-11-10
      提交下单未支付,系统里就存有订单号了,修改价格再支付就会提示单号重复了,虽然修改单号可以解决这个问题,但是这个更改单号并不是好的方法呢,
      2020-11-10
      回复
    • W
      W
      2021-10-28
      怎么样解决比较好呢?
      2021-10-28
      回复
    • 神经蛙
      神经蛙
      1天前
      如果用户开始未支付成功,后面想再支付了,还能继续用原订单号发起支付吗?就是什么都不改的情况下,能不能再拉起支付?
      1天前
      回复
  • 蔡婷
    蔡婷
    2020-11-09

    建议拿重复的“商户订单号”查询一下,查询路径:1,商家后台,2,查单接口。

    这两种情况会导致订单重复:

    1.在一个支付环境生成订单,在另一个支付环境支付订单,由于支付环境,导致订单重复问题  解决办法:尽可能在一个支付环境下支付订单,切换环境就要生成新的订单

    2.是商户系统中已有的商户订单号,解决办法:尽可能的与商户中的一些单号不一致,如在,商户订单号后加上字母_横杠等半角字符


    2020-11-09
    有用
    回复 1
    • 砣子
      砣子
      2021-06-29
      如果两个订单号,在两个环境都进行了支付,要如何处理
      2021-06-29
      回复
登录 后发表内容
问题标签