订单失效时间问题--小程序支付
发布于 6 年前 作者 ncheng 9533 次浏览 来自 问答

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

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

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

实际测试结果:

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

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

请问:

1、我的理解对吗?

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

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

5 回复

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

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

api 里面不是已经解释了:

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

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

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

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

回到顶部