收藏
回答

JsAPI支付问题: 如何才能让订单失效?

这边本来打算对订单做十分钟内支付的限制,可是当使用 JSAPI 支付 中的 time_expire 参数时,却发现并没有生效,原因在于调用查询接口的时候,即使超过了限定时间,却依旧返回未支付。 以下附上文档中对 time_expire参数的说明:

交易结束时间time_expireString(14)20091227091010

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

建议:最短失效时间间隔大于1分钟

后来我检查了一下参数传值: "time_expire":"20190429105355"  这个好像没有问题,然后根据上一次我发出的问题,有官方回复说让我检查一下服务器的时间,我看了一下, 与国家授时中心标准时间  好像并没有什么区别。 于是,我就懵了 总结: 请问有没有谁能够回答我,如何使得 time_expire 参数生效, 使得调用查询接口的时候返回订单状态为: 订单已关闭  ????

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

2 个回答

  • phoenix
    phoenix
    2020-04-28

    像支付宝过期了会自动更改状态为已关闭:TRADE_CLOSED

    辣鸡微信,一年了,微信都没给个解决方案,过期和没支付的返回数据一摸一样

    2020-04-28
    有用
    回复 1
    • 你是年少的欢喜
      你是年少的欢喜
      2020-05-07
      我只有有问题的时候才会打开社区,所以很抱歉现在才回复你。
      微信和支付宝都有这个“问题”存在,虽然不知道是什么原因没有处理,但是我们可以通过对 自身系统的订单支付进行限制,变相的实现这个功能。
      比如:限制系统内订单的支付时间,将订单标记为失效订单,不可再调起支付之类的限制。变相实现
      2020-05-07
      回复
  • 你是年少的欢喜
    你是年少的欢喜
    2019-04-29

    补充一点,JSAPI支付不知道是不是 是获取订单号的方式为获取预支付交易ID 的缘故, 所以调用撤销订单接口的时候,返回的是:NOT_ALLOW : 订单的支付场景不支持该请求

    2019-04-29
    有用
    回复
登录 后发表内容