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