php – Paypal Preapproval开始日期时区?
|
我正在使用Paypal Adaptive Payments设置应用程序. 我目前正在实施对Preapproval的调用,并且规范说StartDate不能在今天之前. 考虑到这一点……他们在哪个时区验证这个? API SDK在示例中具有以下内容: $currDate = getdate();
$startDate = $currDate['year'].'-'.$currDate['mon'].'-'.$currDate['mday'];
$startDate = strtotime($startDate);
$startDate = date('Y-m-d',mktime(0,date('m',$startDate),date('d',date('Y',$startDate)));
$endDate = add_date($startDate,1);
但是,根据发送请求的服务器的时区,该日期可能会有所不同. 任何人都对如何确保不会发生任何问题有任何想法? 编辑w / Bounty: 截至12月15日,我们现在遇到这个错误.我们正在使用UTC时间,一旦它在UTC中开启新的一天,付款开始失败. 我在以下地方使用上面的代码: $preapprovalRequest->startingDate = $startDate; $preapprovalRequest->endingDate = $endDate; 我需要做什么才能做到这一点? 编辑2: 是的时区设置为UTC,我们故意这样做,以便我们的数据库中的所有时间信息都是在没有时区的情况下存储的. 基本上我正在试图弄清楚如何指定我发送给Paypal的日期是UTC,而不是他们恰好在什么时区. 编辑3: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_APPreapproval 有API,它说如下
基本上我需要上面的代码,输出类似指定我正在使用UTC的东西…… PHP时间函数基于系统时间( http://us.php.net/manual/en/intro.datetime.php).您确定您的系统设置为使用UTC时间吗?您可以查看以下内容:mpurcell@service1 ~/projects/config $-> date Thu Dec 15 23:29:09 UTC 2011 请注意响应中的UTC.如果您的系统设置为某个其他时区,那么这可能是您的问题,如果您需要将时区设置为UTC,请尝试: $rm -f /etc/localtime $ln -s /usr/share/zoneinfo/UTC /etc/localtime 还要确保使用网络时间协议更正系统时间: $ntpdate -b pool.ntp.org – 编辑 – 根据您的编辑,看起来他们期待祖鲁(追加Z)或GMT与偏移(更复杂)的时间,试试这个: $preapprovalRequest->startingDate = $startDate . 'Z'; $preapprovalRequest->endingDate = $endDate . 'Z'; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
