scriptでモーダルを開くのにコマンド等の設定が必要なのでしょうか?

実現したいこと

https://wayasblog.com/laravel-stripe/
上記の事を試していて、laravelのバージョンの違いがある可能性も含めてscriptでモーダルを開かせる際に、必要なコマンド入力があるのかを質問させて頂きました。
調べたところ、srcなどからscriptを指定するだけのように思ったのですが、それだけではいけないのでしょうか?
ドキュメントなども確認させて頂いたのですが、モーダルなどに関する情報見つけられなかったので、質問をさせて頂きました。

前提

発生している問題・エラーメッセージ

モーダルが開かずコントローラーの処理に向かうが、クレジット情報を入力していないのでエラーが起こります。

該当のソースコード

posts/show.blade.php

1<div class="profile-btn"> 2 <form action="{{ asset('payment') }}" method="POST" class="text-center mt-5"> 3 @csrf 4 <input type="hidden" id="post_id" name="post_id" value="{{ $post->id }}" > 5 <script 6 src="https://checkout.stripe.com/checkout.js" class="stripe-button" 7 data-key="{{ env('STRIPE_KEY') }}" 8 data-amount="{{ $post->price }}" 9 data-name="{{ $post->name }}" 10 data-label="決済をする" 11 data-description="これはStripeのデモです。" 12 data-image="https://stripe.com/img/documentation/checkout/marketplace.png" 13 data-locale="auto" 14 data-currency="JPY"> 15 </script> 16 </form> 17 <button type="button" class="btn btn-primary" onClick="history.back()">戻る</button> 18 </div>

PaymentController.php

1public function payment(Request $request) 2 { 3 try 4 { 5 Stripe::setApiKey(env('STRIPE_SECRET')); 6 7 $customer = Customer::create(array( 8 'email' => $request->stripeEmail, 9 'source' => $request->stripeToken 10 )); 11 12 $charge = Charge::create(array( 13 'customer' => $customer->id, 14 'amount' => 1000, 15 'currency' => 'jpy' 16 )); 17 18 //ユーザーIDを取得 19 $user_id = Auth::id(); 20 $payment = new Payment; 21 // フォームから送られてきたデータをそれぞれ代入 22 $payment->post_id = $request->post_id; 23 $payment->payment_method_id = Str::random(30); 24 // データベースに保存 25 $payment->save(); 26 27 return redirect()->route('complete'); 28 } 29 catch(Exception $e) 30 { 31 return $e->getMessage(); 32 } 33 }

試したこと

支払いページを作成するを確認したところ、"顧客がカードを認証する必要がある場合、Stripe.js はモーダルを表示して認証方法を説明します。"と表示されているので、scriptの記述だけでモーダルが開くと思われます。

補足情報(FW/ツールのバージョンなど)

php8
laravel10

コメントを投稿

0 コメント