laravel cashier的invoicePrice()方法无法正常运行
<p>我正在尝试使用laravel cashier和stripe来立即生成发票并向用户收费,但是它不起作用。我正在参考laravel-8文档中的示例代码片段来做这个。</p>
<pre class="brush:php;toolbar:false;">$user->invoicePrice('price_tshirt', 5, [
'discounts' => [
['coupon' => 'SUMMER21SALE']
],
], [
'default_tax_rates' => ['txr_id'],
]);</pre>
<p>我在我的stripe仪表板中创建了一个产品,并用产品的价格ID替换了'price_tshirt'。最终的代码看起来像这样</p>
<pre class="brush:php;toolbar:false;">if(!$user->hasPaymentMethod()){
$user->addPaymentMethod($paymentMethod); //$paymentMethod方法是自动生成的
}
$user->invoicePrice('price_xxxxxxx', 1, [], [
'description' => '这是一个虚拟描述',
'currency' => 'usd',
'receipt_email' => 'john@doe.com'
]);</pre>
<p>运行代码后什么都没有发生,我查看了我的stripe仪表板,什么都没有看到。我的目标是向用户收费并为他们生成发票,以便我以后可以通过像这样的代码访问这些发票<code>$user->invoices()</code></p>
<p>注意:
我之前使用的是<code>$user->charge(100, $paymentMethod);</code>,它完美地工作,但没有生成任何发票,然后我决定改用<code>$user->invoiceFor()</code>方法,这个方法只生成了一个发票,但用户没有被收费。我决定再次更改并使用<code>$user->invoicePrice()</code>,但这个方法根本没有起作用。我需要让用户在付款后管理他们的发票,但我找不到一个可以帮助我做到这一点的方法(生成发票和收费)。我不知道我做错了什么,请帮忙。</p>