Laravel Cashier を使用すると、サブスクリプション税を使用してサブスクリプションを簡単に作成できますが、サブスクリプションを交換する場合、そのコンテキストでは税を処理できないことがわかりました。
この問題に遭遇しましたか? どのように対処しましたか?
Laravel Cashier を使用すると、サブスクリプション税を使用してサブスクリプションを簡単に作成できますが、サブスクリプションを交換する場合、そのコンテキストでは税を処理できないことがわかりました。
この問題に遭遇しましたか? どのように対処しましたか?
解決策を見つけました。少し遅れているかもしれませんが、他の人には役立つはずです。
したがって、 User (または Billable) モデルで 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;