收藏
回答

微信支付统一下单后,未完成支付,关闭订单成功,再次调起统一下单接口,报商户订单号重复?

微信支付统一下单后,未完成支付,关闭订单成功,再次调起统一下单接口时(参数除随机字符有变动,其它不变),报商户订单号重复,因项目原因不能变更订单号,怎么处理才能用同一商户订单号继续发起支付?

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

4 个回答

  • 7³
    2020-06-17

    你的问题是属于使用第2种方法 但没有重新生成商户号

    两种方式 : 1、用户关闭支付 后台不调用微信支付关闭订单 下次可重复调用 商户订单号 金额等都一样

    2、用户关闭支付 同时关闭微信订单 订单失效 下次重新调起支付 对用户是重新调起支付 还是原先订单 对开发 重新发起新支付 商户单号等都重新生成

    推荐第2种 商品改价 原先的订单会使用原先的价格 第2种可以有效避免 但商户单号会变 可根据具体业务逻辑决定是否保存原单号

    2020-06-17
    有用 3
    回复 7
    • 小志
      小志
      2020-08-03
      我关闭订单了。但是再次用原来已经关闭的out_trade_no,调用统一下单接口,仍然可以成功,什么情况?
      2020-08-03
      回复
    • 7³
      2020-08-03回复小志
      你怕是微信的订单没关闭 只是用户关闭了  只要订单的金额这些参数不变  就相当于还是那个订单 所有是可以支付的
      2020-08-03
      回复
    • 小志
      小志
      2020-08-03
      这样描述我的操作:
      1、沙箱环境;
      2、调用统一下单接口,传递相关参数;
      3、返回对应的prepay_id成功;
      4、根据 out_trade_no 调用查询接口,结果却是已经显示支付成功,如下图:
      5、调用关单接口,确实是调用的微信的关单接口,传入out_trade_no。如下图
      2020-08-03
      回复
    • 7³
      2020-08-03回复小志
      单号重新生成啊 你老用一个单号 肯定提示成功了
      2020-08-03
      回复
    • 小志
      小志
      2020-08-04
      你说的 “ 肯定提示成功了” 是指什么意思?调用统一下单接口成功吗?
      1、但是,老的单号out_trade_no,我都调用关单接口了,关单接口返回结果也是成功,我再用老的out_trade_no调用统一下单接口,应该失败才对啊,不然关闭订单的作用是啥?
      2、关键是,我只是用out_trade_no等参数,请求了下prepay_id,返回也是成功 的,这个时候我没还支付呢,但是用out_trade_no 调用查询接口,tradeState怎么已经显示成功了呢?如,我上面第一张图。
      以上是我哪里理解错了吗,还请指正。
      2020-08-04
      回复
    查看更多(2)
  • Heaven
    Heaven
    2020-06-17

    关闭订单后,之前商户订单号还是无法使用的

    不关闭,保持金额一致,则可以重新进行支付下单

    2020-06-17
    有用 2
    回复 1
    • 康熙师爷
      康熙师爷
      2020-10-20
      那这个关闭订单的意义是什么
      2020-10-20
      回复
  • Mcdull
    Mcdull
    2021-01-15

    楼主问题解决了吗。我现在和你遇到同样的问题和困惑。用户唤起微信后,一直未输入密码输进行支付操作。半小时后订单业务订单关闭了同时也向微信发起了关单接口,微信返回关单成功。之后 用户进行支付操作,用户支付成功。

    2021-01-15
    有用
    回复
  • 欢乐马
    欢乐马
    2020-07-25

    楼主你是使用的丢单的方式处理的吗?原订单号不保留?

    2020-07-25
    有用
    回复
登录 后发表内容
问题标签