Как обновить / поменять подписку при использовании налогов на подписку с Laravel Cashier

Laravel Cashier позволяет довольно просто создавать подписки с подписными налогами, но я обнаружил, что когда дело доходит до обмена подписками, он не может иметь дело с налогами в этом контексте.

Вы столкнулись с этой проблемой? Как ты решил это?

2

Решение

Я нашел решение, может быть, немного поздно, но это должно помочь другим.

Поэтому вам нужно переопределить метод Laravel \ Cashier \ Billable :: invoice () в вашей пользовательской (или любой оплачиваемой) модели, чтобы принять "tax_percent" => $this->taxPercentage(), Другими словами, добавьте следующий фрагмент кода в свой класс модели User (или любого другого оплачиваемого).

public function invoice()
{
if ($this->stripe_id) {
try {
return StripeInvoice::create(['customer' => $this->stripe_id, "tax_percent" => $this->taxPercentage()], $this->getStripeKey())->pay();
} catch (StripeErrorInvalidRequest $e) {
return false;
}
}

return true;
}

Также не забудьте добавить эти новые требования к вашему классу

use Stripe\Invoice as StripeInvoice;
use Stripe\Error\InvalidRequest as StripeErrorInvalidRequest;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]