从 Laravel 出纳处获取下一个账单日期
Get next billing date from Laravel Cashier
我已经通过 Laravel 的 Cashier 套餐为用户订阅了订阅计划。我现在想显示下一次向用户收费的日期,但这似乎无法通过 Billable 特征获得。
如何获得下一个账单日期?
谢谢!
解决方法是使用asStripeCustomer
方法:
// Retrieve the timestamp from Stripe
$timestamp = $user->asStripeCustomer()["subscriptions"]->data[0]["current_period_end"];
// Cast to Carbon instance and return
return \Carbon\Carbon::createFromTimeStamp($timestamp)->toFormattedDateString();
请注意,我只对具有单一订阅的用户进行了测试 - data[0]
。
您可能需要为多个订阅更改此代码,或者如果用户已取消并开始另一个订阅。
订阅还有一个 ->asStripeSubscription()
方法,让您可以访问该订阅的值。所以你可以这样做:
// Retrieve the timestamp from Stripe
$timestamp = $subscription->current_period_end;
// Cast to Carbon instance and return
return \Carbon\Carbon::createFromTimeStamp($timestamp)->toFormattedDateString();
基于之前的答案,以下是对我有用的内容:
private function getSubscriptionRenewDate($plan)
{
$sub = Auth::user()->subscription($plan)->asStripeSubscription();
return Carbon::createFromTimeStamp($sub->current_period_end)->format('F jS, Y');
}
我已经通过 Laravel 的 Cashier 套餐为用户订阅了订阅计划。我现在想显示下一次向用户收费的日期,但这似乎无法通过 Billable 特征获得。
如何获得下一个账单日期? 谢谢!
解决方法是使用asStripeCustomer
方法:
// Retrieve the timestamp from Stripe
$timestamp = $user->asStripeCustomer()["subscriptions"]->data[0]["current_period_end"];
// Cast to Carbon instance and return
return \Carbon\Carbon::createFromTimeStamp($timestamp)->toFormattedDateString();
请注意,我只对具有单一订阅的用户进行了测试 - data[0]
。
您可能需要为多个订阅更改此代码,或者如果用户已取消并开始另一个订阅。
订阅还有一个 ->asStripeSubscription()
方法,让您可以访问该订阅的值。所以你可以这样做:
// Retrieve the timestamp from Stripe
$timestamp = $subscription->current_period_end;
// Cast to Carbon instance and return
return \Carbon\Carbon::createFromTimeStamp($timestamp)->toFormattedDateString();
基于之前的答案,以下是对我有用的内容:
private function getSubscriptionRenewDate($plan)
{
$sub = Auth::user()->subscription($plan)->asStripeSubscription();
return Carbon::createFromTimeStamp($sub->current_period_end)->format('F jS, Y');
}