条纹订阅结束日期和时间

z0m*_*ale 5 stripe-payments

我开始使用条带付款并设置我的测试环境.一切正常,直到订阅即将结束.就像在Stripe的主页上所说的教程一样,你应该将订阅结束日期保存在我正在做的数据库中.

因此,假设用户已取消或其订阅已结束.他正试图再次登录,并提示再次注册订阅的消息.我在这里获取日期并重新订阅用户:

//create subscription
$customer = \Stripe\Subscription::create(array(
    "customer" => $customer_id,
    "plan" => "test"
));

//get curent end period
$end_date = $customer->current_period_end;
//getting something like this 1472625732
$next_payment_date = date('Y-m-d',$end_date);
Run Code Online (Sandbox Code Playgroud)

从条纹响应中获取日期.然后我将它转换为我可以在mysql中使用的时间戳,然后我插入它.一切正常,但我认为我的订阅过早取消.

条纹我看到这个:

现时阶段:

2016/08/30 to 2016/08/31
Run Code Online (Sandbox Code Playgroud)

在我的数据库中,我看到2016-08-31 00:00:00,它在午夜取消了订阅,但条纹说订阅仍然有效.

在我的登录脚本中,我在数据库中检查该日期,它表示我的订阅未激活,这是不正确的.

这是我的问题,我该如何防止这种行为?订阅结束时是否有任何方法可以获得时间,或者是否有条带设置的默认时间?

sni*_*guu 2

问题是您从条带中获得的时间戳 1472625732 是GMT: Wednesday, August 31, 2016 6:42:12 AM在调用date('Y-m-d',$end_date);此时间戳之后,您丢失了(截断)时间部分6:42:12,并且此领先stripe 端订阅于2016 年 8 月 31 日 6:42:12 AM结束,而根据您的数据库订阅于2016 年 8 月 31 日 00:00:00 AM结束