收藏
回答

微信支付开发,prepay_id有效期为两小时,可以延长时间不?

在实际开发过程中,业务订单有效期为24小时,微信支付prepay_id有效期为2个小时,可能会导致用户在prepay_id过期之后,app端发起支付操作,目前我们所创建的业务订单实效交易结束时间为24小时,对这个字段概念有点模糊,如果我想在下单生成prepay_id的第二个小时之后支付,该如何进行操作?重新进行统一下单获取新的prepay_id?还是设置交易结束时间为24小时(延长prepay_id的有效期)? 各位大佬麻烦帮忙指点迷津下

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

5 个回答

  • L🤪👣
    L🤪👣
    2021-05-22

    我也被这个问题困扰,楼主有解决方案了么。

    time_expire设置的是订单的失效时间,并不是prepay_id的有效期,无论订单是否失效,prepay_id在两小时都会过期,同样无法发起支付,会提示“该订单已过期,请重新下单”。此时重新下单则会提示商户单号重复,必须更改商户单号,但是在当前订单业务未完成的情况下更改订单号会混乱啊,首先客户前后看到的订单号不一致,其次系统数据也会比较杂乱。prepay_id没有发现相关延长有效期的接口,应该是固定的2小时失效。

    目前能想到折中办法就是弄一个映射关系,当同一订单在prepay_id过期后再次发起支付时,产生新的商户单号下单,并与原单号关联,系统仍用原单号完成相关业务逻辑。但还是感觉那里不太对,请大佬指点一二

    2021-05-22
    有用 1
    回复 1
    • 日落之前
      日落之前
      2022-11-04
      层主有高效的解决方案了吗?
      2022-11-04
      回复
  • Devin
    Devin
    01-22

    2小时过期或手动调用接口关闭预付单后,可以使用之前的订单号和金额和商品描述等信息来下一个预付单就可以了,切记重新生成预付单是和之前生成预付单时核心订单参数要一致。

    01-22
    有用
    回复
  • 杨晓亮🤘 ⃢👁-👁⃢
    杨晓亮🤘 ⃢👁-👁⃢
    2023-06-01

    超过2小时后重新调用下单接口,你主要的参数不变,例如金额,订单号

    2023-06-01
    有用
    回复
  • 青团社
    青团社
    2020-12-23

    应该是重新下单,你业务内的还是24小时。轮训查下,产生新订单?

    2020-12-23
    有用
    回复 1
    • L🤪👣
      L🤪👣
      2021-05-22
      产生新订单肯定不行呀,用户前后看到的订单不一致。对于商户系统来说也会非常混乱。也被这个问题困扰,哪位大神能给个合理的方案
      2021-05-22
      回复
  • 彧
    2020-12-23

    麻烦各位大佬帮忙解答下

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