使用Laravel&收银员直接从条带检查Stripe订阅状态

时间:2017-09-14 10:50:39

标签: php laravel

我可以使用以下内容从数据库中检查订阅。 这将输出数据库中的数据。

{{Auth::user()->subscriptions }}

但是,如何通过Stripe检查该订阅是否仍然有效?

如果订阅被取消或用完,该数据库/系统如何知道这一点。

我希望有类似 ConnectToStripe('CustomerStripeID')的内容来检索订阅详情

p.s - 没有足够的代表添加标签:5.4,Stripe或Cashier

2 个答案:

答案 0 :(得分:0)

我没有使用Stripe,但根据docs,您可以应用->subscribed('plan_name')来检查订阅,快速示例:

   if(Auth::user()->subscribed('plan_name')){
      //he is subscribed!
   }

所以你必须循环你的订阅计划来检查所有:

   @foreach(Plans::get() as $plan)
    {{(Auth::user()->subscribed($plan->plan_name)) ? 'Subscribed!' : 'Not Subscribed'}}
   @endforeach

答案 1 :(得分:0)

我在订阅状态方面遇到了同样的问题。有时订阅在 Stripe 中成功,但在我的本地数据库中没有。所以我不得不用 Stripe 检查它并手动更新它。

$user = Auth::user();
$subscription = $user->subscription('default');
$id = $subscription->latestPayment()->id;
$payment = new Payment(
    StripePaymentIntent::retrieve($id, Cashier::stripeOptions())
);
if($payment->isSucceeded()){
    // update subscription status
}