有一种情况,用户可以从按月订阅切换到按年订阅。
这可以使用以下代码完成:
$company->subscription('annual')
->withCoupon($couponCode)
->swapAndInvoice(1); // 1 is the quantity
这可行,但是我注意到它会立即向用户开具发票并同时向用户收费,这会立即关闭发票。这意味着 webhook 无法修改发票以添加税款等行项目。
我什swapAndInvoice
至对其进行了修改,以便不会立即付款,以允许发票具有 Stripe 允许发票的通常约 1 小时修改期。但是,它仍然会立即向用户收费。我认为这是因为从按月计费到按年计费的变化。但不确定。
//Stripe_Invoice::create(['customer' => $customer->id], $this->getStripeKey())->pay();
Stripe_Invoice::create(['customer' => $customer->id], $this->getStripeKey());
任何想法表示赞赏。
Stripe 自己的文档说明如下:
当客户在计费期间切换订阅计划时,会发生以下情况:
如果新计划的计费频率与旧计划不同(例如,按月到按年、从激活到试用、从免费到激活等等)
新计划的第一个完整期间立即开始(或根据需要在试用期之后),客户在第一期间的费用减去账户余额。