发现一个支付宝pc扫码支付的问题
网站pc扫码支付报错 系统有点儿忙,一会儿再试试。错误码:NOW_TIME_AFTER_EXPIRE_TIME_ERROR。
百度了一下,需要核实接口传递的 time_expire 参数值是否设置成当前时间之前。(意思就是设置的 time_expire 必须要加一个时间,比如加个300秒,就是5分钟。用户必须在这5分钟之内支付完成,否则支付台页面就会超时,导致支付失败。)
找了一下支付宝的支付请求接口,/sys/apps/libraries/Alipay.php 发现$json['time_expire'] = date('Y-m-d H:i:s'); time_expire 获取的是当前时间 ,没有添加一个时间,才导致了错误码:NOW_TIME_AFTER_EXPIRE_TIME_ERROR这个问题。
解决的办法:
希望官方能修复一下;
百度了一下,需要核实接口传递的 time_expire 参数值是否设置成当前时间之前。(意思就是设置的 time_expire 必须要加一个时间,比如加个300秒,就是5分钟。用户必须在这5分钟之内支付完成,否则支付台页面就会超时,导致支付失败。)
找了一下支付宝的支付请求接口,/sys/apps/libraries/Alipay.php 发现$json['time_expire'] = date('Y-m-d H:i:s'); time_expire 获取的是当前时间 ,没有添加一个时间,才导致了错误码:NOW_TIME_AFTER_EXPIRE_TIME_ERROR这个问题。
解决的办法:
在/sys/apps/libraries/Alipay.php文件中将
$json['time_expire'] = date('Y-m-d H:i:s');
改成
$json['time_expire'] = date('Y-m-d H:i:s',time()+300);
就可以了
希望官方能修复一下;

回复列表(1)