Laravel - 基于数量/可变订阅量的条纹订阅

Laravel - Stripe Subscription based on Quantity / variable subscription amount

我在 Laravel 项目中实现了 Stripe。我想按月向客户收费,但他们每个人都必须支付不同的金额。我正在通过另一个系统单独向他们发送发票,他们必须在我的网站上输入发票编号、金额并付款。

现在要向客户收取可变金额,我在这里遇到了一个解决方案:https://support.stripe.com/questions/how-can-i-create-plans-that-dont-have-a-fixed-price

我有一个表格,客户可以在其中输入他的发票号码、其他详细信息和他想要支付的金额。现在我如何以条带形式使用这些信息并创建这样的条带客户?我无法让它工作。

听起来您只是想向客户收取给定金额的费用。您不需要为此使用 Stripe 的计划或订阅,您只需 create a charge.

如果您想一次性收集客户的银行卡详细信息并能够重复收费而无需要求他们再次提供他们的银行卡详细信息,您应该首先 create a customer 使用银行卡令牌,然后创建一个在 customer 参数中使用客户 ID 收费。

您应该查看本教程:https://stripe.com/docs/charges#saving-credit-card-details-for-later

我认为处理可变订阅量的最佳方法是在条带上创建一个基本计划,例如 freePlan 并为其分配 1 的数量。

所以如果你想处理可变订阅量 "that is in your case" 您将订阅此 freePlan 然后按您的订阅数量(金额)增加该金额 1

例如,您要分别向 2 个用户收取 10 美元和 15 美元的费用。你会

// Let get first user
$user = User::find(1);

// subscribe to free plan which has an amount of one(1)
// and increment the quantity by 10 so in this case he/she will pay 
//  every month
$user->subscription('freePlan')->incrementQuantity(10); 

// Lets do same for user 2 
$user = User::find(2);

// subscribe to free plan which has an amount of one(1)
// and increment the quantity by 15 so in this case he/she will pay 
//  every month
$user->subscription('freePlan')->incrementQuantity(15); 

或者您可以选择使用已创建的计划示例 basicPlanbusinessPlan 并增加或减少数量

// Let say basicPlan is  so increasing it by 5 will be 150
$user->subscription('basicPlan')->incrementQuantity(15); 

这 link 指出如何设置数量 https://stripe.com/docs/subscriptions/guide#setting-quantities

这是 link 指向 laravel 如何增加或减少数量 https://laravel.com/docs/5.2/billing#subscription-quantity

好的,我已经解决了这个问题。我没有使用 Stripe 的 QuantityQuantityIncrement(),而是为每个客户创建了一个单独的计划。

现在 Laravel 收银员不允许我们以编程方式创建条带计划。但是, 帮助我做到了这一点。虽然我不得不做一些改变才能在 Laravel 中使它工作,但我在玩弄之后终于让这个工作了。