laravelレジ係のinvoicePrice()メソッドが正しく動作しません
P粉269847997
2023-08-29 10:12:00
<p>laravel キャッシャーとストライプを使用して請求書を即座に生成し、ユーザーに請求しようとしていますが、機能しません。これを行うには、laravel-8ドキュメントのサンプルコードスニペットを参照しています。 </p>
<pre class="brush:php;toolbar:false;">$user->invoicePrice('price_tshirt', 5, [
'割引' => [
['クーポン' => 'SUMMER21SALE']
]、
]、[
'default_tax_rates' => ['txr_id'],
]);</pre>
<p>ストライプ ダッシュボードで製品を作成し、「price_tshirt」を製品の価格 ID に置き換えました。最終的なコードは次のようになります</p>
<pre class="brush:php;toolbar:false;">if(!$user->hasPaymentMethod()){
$user->addPaymentMethod($paymentMethod); //$paymentMethod メソッドは自動的に生成されます
}
$user->invoicePrice('price_xxxxxxx', 1, [], [
'説明' => 'これは仮想説明です',
「通貨」 => 「米ドル」、
'receipt_email' => 'john@doe.com'
]);</pre>
<p>コードを実行した後、何も起こらず、ストライプダッシュボードを見ても何も表示されませんでした。私の目標は、ユーザーに請求して請求書を生成し、後で <code>$user->invoices()</code></p> のようなコードでそれらの請求書にアクセスできるようにすることです。
<p>注:
私は <code>$user->charge(100, $paymentMethod);</code> を使用していましたが、完璧に機能しましたが、請求書は生成されませんでした。そこで、代わりに <code>$user を使用することにしました - >invoiceFor()</code> メソッドでは、このメソッドは請求書を生成するだけであり、ユーザーには請求されません。再度変更して <code>$user->invoicePrice()</code> を使用することにしましたが、この方法はまったく機能しませんでした。支払い後にユーザーが請求書を管理できるようにする必要がありますが、これを行うのに役立つ方法 (請求書と料金の生成) が見つかりません。何が間違っているのか分かりません、助けてください。 </p>
問題は、laravel が Stripe によって「include_and_require」として無効にされている「pending_invoice_items_behavior」を使用しているため、項目がデフォルトで除外されていることのようです。
https://mobile.twitter.com/cjav_dev/status/1554922729081516033
こんな感じで新しいパラメータを追加してみました。
リーリーただし、ユーザーが製品を USD で試したときに以前に CAD で請求されていたため、通貨エラーも発生しました (以前にこの質問を投稿した人に感謝します!!)。
しかし、顧客の代わりに既存の通貨を使用して新しいユーザーを作成すると、機能します。