Laravel收银员有多种模式

时间:2019-11-22 01:32:31

标签: laravel stripe-payments laravel-cashier

当前在Laravel Cashier上,我们可以使用

更改其他模型
CASHIER_MODEL=App\User

但是,根据我当前的需要,我应该能够在用户表上执行一次定期付款,并在另一个作为团队表的实体上执行订阅付款。有人知道吗?用户有很多团队。

2 个答案:

答案 0 :(得分:0)

CASHIER_MODEL环境变量主要用作cashier.model的所有者,用于查找给定订阅see github code using "cashier.model"的所有者。

您仍然可以在其他模型/对象上使用“可计费”特征(尽管在与收银员进行交互时要注意架构/迁移并很好地存储内容)。

为完整起见,您可以使用自己的机制覆盖Subscription::owner()WebhookController::getUserByStripeId()方法,以区分可计费模型,从而使Webhooks正常工作。

根据您的应用程序,您还可以将其作为应用程序体系结构的一部分,例如为团队所有者计费,或将您的计费服务抽象为负责个人和团队计费的一致模型。

答案 1 :(得分:0)

也许您可以接受用户付款。您的问题出在团队订阅上。

在您的订阅表中添加一个team_id列。

将“可计费”特征添加到团队模型中。

在创建订阅或使用收银员执行任何操作之前,请更改cashier.model配置。

Config::set('cashier.model', 'App\Team');

现在,您将可以为Team执行收银员的所有操作。