Laravel Cashier使用订阅税创建订阅非常简单,但我发现在交换订阅时,它无法在该上下文中处理税收。
你遇到过这个问题吗?你是怎么解决它的?
答案 0 :(得分:1)
我找到了解决方案,可能会有点晚,但应该帮助其他人。
因此,您需要覆盖User(或任何Billable)模型上的Laravel \ Cashier \ Billable :: invoice()方法以获取"tax_percent" => $this->taxPercentage()
。换句话说,将以下代码添加到您的用户(或任何其他可计费)模型类中。
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;