【问题标题】:Using Laravel & cashier to check Stripe subscription status directly from stripe使用 Laravel & cashier 直接从 stripe 检查 Stripe 订阅状态
【发布时间】:2017-09-14 10:50:39
【问题描述】:

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

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

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

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

我希望有类似 ConnectToStripe('CustomerStripeID') 来检索订阅详细信息

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

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    我没有用过 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
    

    【讨论】:

    • 这不检查条带,这只检查数据库中的订阅表。我需要检查条纹系统以查看用户是否已订阅。根据我的操作
    【解决方案2】:

    我在订阅状态方面遇到了同样的问题。有时在 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
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-04
      • 1970-01-01
      • 2015-10-15
      • 2016-03-04
      • 2016-08-04
      • 1970-01-01
      • 2023-03-03
      • 2018-07-09
      • 2019-07-09
      相关资源
      最近更新 更多