2015-12-09 2 views
2

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

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

+0

Та же проблема здесь чувак. Вы нашли решение? –

+0

Честно говоря, это было так долго, что я больше не знаю. Я думаю, что в итоге я нашел альтернативное решение, поэтому не стесняйтесь проверять некоторые другие вопросы/ответы. – Marcel

ответ

1

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

Для того, чтобы взять , вам необходимо переопределить метод Laravel \ Cashier \ Billable :: invoice() на вашей модели User (или любой Billable). Другими словами, добавьте следующий фрагмент кода в свой пользовательский (или любой другой оплачиваемый) модельный класс.

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; 
Смежные вопросы