Laravel收银员:如何获取计划名称或ID?

时间:2017-10-18 17:46:12

标签: php laravel-5 stripe-payments billing

我有8个条纹计划。每月4次+每年4次。像

plan_one.monthly
plan_one.yearly
plan_two.monthly
plan_two.yearly
plan_three.monthly
plan_three.yearly
plan_four.monthly
plan_four.yearly

这是用户订阅行

id -> 1
user_id -> 1
name -> Plan-One Monthly
stripe_id -> sub_xxxxxxxxxx
stripe_plan -> plan_one.monthly
quantity -> 1
trial_ends_at - null
ends_at - null
created_at - datetime()
updated_at - datetime()

在这种情况下,我如何获得用户活动/当前订阅计划名称?

2 个答案:

答案 0 :(得分:1)

Billable 特征设置上的订阅方法返回最后一行。因此,如果一个可计费实体在您的应用上只有一个有效订阅,那么这很好用:

$user->subscription('default')->stripe_plan;

在laravel 5.6 / cashier 7.1上进行测试

答案 1 :(得分:0)

我迟到了,但我一直在寻找类似的解决方案,在我的情况下,我只允许用户一次订阅一个,但我想以编程方式获取用户的活动订阅,而无需循环访问可用订阅,更透彻地阅读 laravel 文档,我找到了使用订阅范围所需的内容。

$user->subscriptions()->active()->first();

https://laravel.com/docs/8.x/billing#subscription-scopes