收藏
回答

订单失效时间问题--小程序支付

问题模块
API和组件

服务器调用  统一下单API时,有个参数是订单失效时间,参数名time_expire

我的理解,这个参数的作用是,标识用户最晚的支付时间,即用户下单时,没有支付,后来又想支付了,只要不超过这个参数的时间就行了。

我设置的过期时间是下单时间之后的7天

实际测试结果:

1、不超过4~5小时的未支付订单,可以正常的完成支付;

2、超过4~5小时的订单,服务器向小程序返回支付所需参数及签名后,小程序能正常拉起支付界面,但瞬间支付界面消失,通过调试界面看到的报错是:该订单已过期,请重新下单。


请问:

1、我的理解对吗?

2、如果是对的,哪里错了?

3、如果理解不对,那time_expire这个参数有什么用啊?千万不要告诉我这个参数是微信服务器用来删数据用的,那就太坑了。这样商户如何能够保留用户几天之内还未支付的订单呢?

最后一次编辑于  2017-12-26
回答关注问题邀请回答
收藏

5 个回答

  • 云烟雾霰
    云烟雾霰
    12-06

    api 里面不是已经解释了:

    订单失效时间,格式为yyyyMMddHHmmss,如2009年12月27日9点10分10秒表示为20091227091010。订单失效时间是针对订单号而言的,由于在请求支付的时候有一个必传参数prepay_id只有两小时的有效期,所以在重入时间超过2小时的时候需要重新请求下单接口获取新的prepay_id

    12-06
    赞同
    回复
  • 殷玉娇
    殷玉娇
    2018-11-18

    楼主解决了吗,我也遇到这个问题了

    2018-11-18
    赞同
    回复
  • 波
    2018-01-10

    time_expire是针对订单的,但是因为系统返回的prepay_id有效期跟传的time_expire并不同步,所以需要继续支付的话,可以通过订单参数不变重新调一次统一下单生成新的prepay_id才可以重新支付。

    2018-01-10
    赞同
    回复
  • 曾进军
    曾进军
    2017-12-26

    是分开的呀。先下单,生成了订单。支付时没有输入密码,返回。就没有完成支付。

    然后在小程序里面找到这个未支付订单,继续支付。这个‘然后’的间隔时间超过4~5个小时就不能支付了,我想设置成7天,如果微信默认就只能支持4~5个小时,我就只能改成几个小时了,超过几小时就失效

    2017-12-26
    赞同
    回复
  • L、
    L、
    2017-12-26

    用户下单和支付是分开的吧!有什么联系呢

    2017-12-26
    赞同
    回复