检查了好久发现官方文档有这么一句话。
5、时间
标准北京时间,时区为东八区;如果商户的系统时间为非标准北京时间。参数值必须根据商户系统所在时区先换算成标准北京时间, 例如商户所在地为0时区的伦敦,当地时间为2014年11月11日0时0分0秒,换算成北京时间为2014年11月11日8时0分0秒。
6、时间戳
标准北京时间,时区为东八区,自1970年1月1日 0点0分0秒以来的秒数。注意:部分系统取到的值为毫秒级,需要转换成秒(10位数字)。
然后我发现我的商城用的是UTC时区,官方demo用的是
ini_set(‘date.timezone’,’Asia/Shanghai’);
我不能为了这个修改我的程序时区啊所以就可以在支付的时候临时设置下
date_default_timezone_set(‘Asia/Shanghai’);
这样就OK了,这个坑好深- -