收藏
回答

微信支付,调用统一下单接口生成的订单,如果用户不支付需要再调用API关闭订单吗?


场景:

     NATIVE 支付接入PC网站,用户点击确认订单后调用统一下单API 生成预订单返回支付二维码链接,此时用户不做支付操作,关闭页面,再次支付该订单如何处理?

解决方案:

    一:

    经过测试,微信支付同一个订单(订单号&&支付金额相同)可以发起多个预支付订单,其中一个预订单被支付后,再去支付其他预订单会显示订单以支付,整个订单为支付成功,这里已经能够满足需求,支付成功后该订单无法再次生成预订单。所以在这个基础上,只要出现该场景,用户再次支付的时候重新为该订单生成预订单。


    二:

            生成预订单后记录下超时截止时间,二维码链接,支付成功后在删除记录,保证每个订单只要一个预付单。


 总结:

        因为项目中要接入的不止pc端的支付,后续还会接入app,小程序的,方案二的实现代码会比较麻烦,而且测试到预订单可以多个存在,微信开发团队这样设计有一定道理,所以暂时选择的是方案一,查看官方资料和文档 没有发现对这个问题的解决方案,所以过来提问使用方案一的话有无不良影响。


问题核心描述:

    1、使用方案1 ,同订单生成多个预订单情况下,支付其中一个预订单后,订单状态已经改变为成功,支付其他预订单会显示订单以支付,其他预订单是否会自动关闭,如果不去关闭未支付的预订单会有什么影响,这里主要是不知道微信预订单的设计思想。


    2、是否有更好的解决方案?

                



    

最后一次编辑于  2019-07-24
回答关注问题邀请回答
收藏

2 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    2019-07-24

    不会自动关闭,需要你调用关闭接口。你的方案是可行的。

    2019-07-24
    有用 1
    回复 2
    • 星夜无痕
      星夜无痕
      2019-07-24
      好的,谢谢,但是关闭订单API是关闭整个订单,支付成功调用不了关闭订单接口
      2019-07-24
      回复
    • Mj
      Mj
      2019-10-09回复星夜无痕
      您好 我也是用的方案一 但是有时候会出现 商家订单信息有误,请重新下单
      2019-10-09
      回复
  • 醒着的睡着的人
    醒着的睡着的人
    2019-12-17

    是不是只要订单号不重复就可以重新发起订单?


    2019-12-17
    有用
    回复
登录 后发表内容