Laravel 收银员调换立即生效
Laravel cashier swapping taking immediate effect
根据文档 swap()
方法,在下一个计费日期将当前订阅与新订阅交换,这意味着在当前计划结束之后。并且swapAndInvoice()
将立即生效,无需等待当前计划结束。
但是 swap()
方法并没有像描述的那样工作。即日起生效。
$subscription_result = $user->subscription('primary')->swap('new_price_id');
这是我用来交换订阅的。
example
,
Plan A :- 3 days ()
Plan B :- 7 days ()
用户在 3 月 25 日 订阅了 计划 A,下一个结算周期在 3 月 28 日 ].
用户于 3 月 25 日 更改订阅 B 计划,它应于 28 日 (using swap() method
) 生效。但它立即生效并显示下一个计费周期是 4 月 1 日。
我试过使用 swapAndInvoice()
而不是 swap()
,但这两种方法都给出相同的输出,没有区别。
此行为的原因与具体的 swap()
方法无关,而是与 Subscription upgrades and downgrades 的行为方式有关。当您更新订阅的价格间隔与之前的价格不同时(例如您的示例是 3 天间隔与 7 天间隔),则 billing_cycle_anchor 将立即重置并生成新发票. swapAndInvoice()
方法将在订阅更新时切割一个新发票,无论价格更新的间隔是否保持不变。而在两个价格的间隔相同的情况下仅使用 swap()
将导致在下一个自然计费周期之前不会创建发票。
Stripe API 完成 use-case 的方法是利用 Subscription Schedules。但是,Cashier 可能不直接支持此功能。
根据文档 swap()
方法,在下一个计费日期将当前订阅与新订阅交换,这意味着在当前计划结束之后。并且swapAndInvoice()
将立即生效,无需等待当前计划结束。
但是 swap()
方法并没有像描述的那样工作。即日起生效。
$subscription_result = $user->subscription('primary')->swap('new_price_id');
这是我用来交换订阅的。
example
,
Plan A :- 3 days ()
Plan B :- 7 days ()
用户在 3 月 25 日 订阅了 计划 A,下一个结算周期在 3 月 28 日 ].
用户于 3 月 25 日 更改订阅 B 计划,它应于 28 日 (using swap() method
) 生效。但它立即生效并显示下一个计费周期是 4 月 1 日。
我试过使用 swapAndInvoice()
而不是 swap()
,但这两种方法都给出相同的输出,没有区别。
此行为的原因与具体的 swap()
方法无关,而是与 Subscription upgrades and downgrades 的行为方式有关。当您更新订阅的价格间隔与之前的价格不同时(例如您的示例是 3 天间隔与 7 天间隔),则 billing_cycle_anchor 将立即重置并生成新发票. swapAndInvoice()
方法将在订阅更新时切割一个新发票,无论价格更新的间隔是否保持不变。而在两个价格的间隔相同的情况下仅使用 swap()
将导致在下一个自然计费周期之前不会创建发票。
Stripe API 完成 use-case 的方法是利用 Subscription Schedules。但是,Cashier 可能不直接支持此功能。