php – Paypal Preapproval开始日期时区?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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';

脚本宝典总结

以上是脚本宝典为你收集整理的php – Paypal Preapproval开始日期时区?全部内容,希望文章能够帮你解决php – Paypal Preapproval开始日期时区?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。