gpt4 book ai didi

stripe-payments - Stripe 订阅结束日期和时间

转载 作者:行者123 更新时间:2023-12-03 14:50:24 25 4
gpt4 key购买 nike

我开始使用 Stripe 进行支付并设置了我的测试环境。一切正常,直到订阅即将结束。就像 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);

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

在条纹中,我看到了这个:

现时阶段:
2016/08/30 to 2016/08/31

在我的数据库中,我看到 2016-08-31 00:00:00 ,这会在午夜取消订阅,但 stripe 表示订阅仍然有效。

在我的登录脚本中,我检查了数据库中的那个日期,它说我的订阅不是事件的,这不是真的。

我的问题来了,我怎样才能防止这种行为?有什么方法可以在订阅结束时获取时间,或者是否有 strip 设置的默认时间?

最佳答案

问题是您从 strip 中获得的时间戳 1472625732 是 格林威治标准时间:2016 年 8 月 31 日星期三上午 6:42:12 和电话后date('Y-m-d',$end_date);在此时间戳上,您丢失(截断)时间部分 6:42:12 ,而这导致在 strip 侧订阅结束于 2016 年 8 月 31 日上午 6:42:12 而根据您的数据库订阅结束于 2016 年 8 月 31 日上午 00:00:00

关于stripe-payments - Stripe 订阅结束日期和时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39242445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com