我通过 Laravel 的 Cashier 包为用户订阅了订阅计划。我现在想显示用户下一次计费的日期,但是这似乎不能通过 Billable 特征获得。
如何获得下一个结算日期?谢谢!
我通过 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');
}