Есть случай, когда пользователь может переключиться с ежемесячной подписки на годовую.
Это можно сделать с помощью следующего кода:
$company->subscription('annual')
->withCoupon($couponCode)
->swapAndInvoice(1); // 1 is the quantity
Это работает, однако я заметил, что он немедленно выставляет счета и взимает плату с пользователя в один и тот же момент, что сразу же закрывает счет. Это означает, что веб-перехватчики не могут изменить счет, чтобы добавить такие позиции, как налог.
Я даже изменил swapAndInvoice
, чтобы сделать так, чтобы оплата не производилась сразу, чтобы у счета был обычный период изменения ~ 1 часа, который Stripe допускает для счетов. Однако он по-прежнему заряжает пользователя сразу. Я думаю, это из-за перехода с ежемесячного выставления счетов на годовой. Но не уверен.
//Stripe_Invoice::create(['customer' => $customer->id], $this->getStripeKey())->pay();
Stripe_Invoice::create(['customer' => $customer->id], $this->getStripeKey());
Любые идеи приветствуются.
В собственной документации Stripe говорится следующее:
Когда клиент меняет план подписки в середине расчетного периода, происходит следующее:
Если новый план имеет другую частоту выставления счетов по сравнению со старым планом (например, ежемесячно или ежегодно, от активного до пробного, от бесплатного до активного и т. Д.)
Первый полный период нового плана начинается немедленно (или после пробного периода, по желанию), и с клиента взимается плата за первый период за вычетом остатка на счете.