首页 » 技术分享 » 订单参数异常,请重新下单后再发起付款(ALIN42273)

订单参数异常,请重新下单后再发起付款(ALIN42273)

 

问题描述:

最近支付宝支付时常出现:订单参数异常,请重新下单后再发起付款(ALIN42273),之前产品App都是正常支付,现在用户反馈支付成功率很底,导致很多订单无法支付。

排除问题:

  1. 用户手机问题(IOS、安卓)系统。----经测试排除
  2. 支付宝app版本问题。---经测试排除
  3. 支付宝接口变更。---经查询,好像没有变更
  4. 产品app里的sdk版本太低,支付宝不支持了。---应该不可能坑我们的,排除
  5. 后端服务接口有问题。----查询日志,正常
  6. 支付接口参数遗漏。----不可能,毕竟还有成功的订单
  7. 订单号重复。---查询数据,没有发现重复

那只能求助蚂蚁金服的技术人员,将问题反馈给他们,但是他们也无法给出具体的解决方案,让我们发邮件给相关技术人员,专门有人回复邮件,抱着试试心态,就发了一个邮件。

没有想到,他们回复挺快的,然后就在邮件里进行交流、排除问题,终于get到关键问题了。

答复如下:订单中传入了expireTime且该参数对应的值早于请求时间,故创建失败。

解释:订单参数中您传了it_b_pay作为绝对的超时参数使用的时候是精确到分的,此时您传入的是it_b_pay=\"2018-11-22 14:04:49\",也就是精确到2018-11-22 14:04,此时的请求时间为:2018-11-22 14:04:23,故会造成报错“ALIN42273”

还是不明白吧,其实就是说创建订单时,设置了过期超时时间,请求时间和过期时间一样了,所以创建订单会失败,除非手速或者网络快,正好在未过期前支付了。

解决方案:

登录服务器,查看一下服务本地时间,你就会发现竟然慢了几分钟,甚至十几分钟。无语.....

同步一下时间即可。

 

 

 

 

转载自原文链接, 如需删除请联系管理员。

原文链接:订单参数异常,请重新下单后再发起付款(ALIN42273),转载请注明来源!

0