Stripe に 0.00 の金額を表示します。
P粉237125700
P粉237125700 2023-07-31 14:36:38
0
1
380
<p>私は、ユーザーが 1 回の支払いでさまざまな有料プランに加入できる Stripe を使用しています。支払いは正常に行われますが、主な問題は、3D セキュア支払いプロセス中 (当社はヨーロッパで事業を行っており、3D セキュア支払いチェックは必須です)、ユーザーに表示される金額が 0,00 であることです。これは間違っているだけでなく、さらに重要なのは、支払いをしようとしている人を混乱させることです。</p> <pre class="brush:php;toolbar:false;">パブリック関数の購入(リクエスト $request, プラン $plan) { $user = $request->user(); $paymentMethod = $request->input('payment_method'); $encryptedSystemId = $request->input('system_id'); $encryptedBoxId = $request->input('box_id'); // 暗号化された ID を復号化します $systemId = Crypt::decrypt($encryptedSystemId); $boxId = Crypt::decrypt($encryptedBoxId); // ID とユーザー権限を検証します $system = システム::findOrFail($systemId); $box = Box::findOrFail($boxId); $total = $plan->price; 試す { $user->createOrGetStripeCustomer(); $user->updateDefaultPaymentMethod($paymentMethod); $user->charge($total * 100, $paymentMethod, [ 'メタデータ' => ['システムID' => $システムID、 'box_id' => $boxId、 'テナント ID '=> $ユーザー->テナント->ID、 ] ]); // * Stripe はセントを扱うため 100 } catch (例外 $例外) { return back()->with('error', '支払い処理エラー: ' . $Exception->getMessage()); } <スクリプト src="https://js.ストライプ.com/v3/"></script> <スクリプト> let Stripe = Stripe("{{ env('STRIPE_KEY') }}") let 要素 = ストライプ.elements() スタイル = { にします ベース: { 色: '#32325d'、 fontFamily: '"Helvetica Neue"、Helvetica、サンセリフ', fontSmoothing: 'アンチエイリアス', フォントサイズ: '16px', '::プレースホルダー': { 色: '#aab7c4' } }、 無効: { 色: '#fa755a'、 アイコンの色: '#fa755a' } } let カード = elements.create('カード', { スタイル: スタイル }) Card.mount('#カード要素') PaymentMethod = null にします $('.card-form').on('submit', function(e) { $('#pay-btn').attr('無効', true) if (支払い方法) { trueを返す } ストライプ.confirmCardSetup( "{{ $intent->client_secret }}", { 支払方法: { カード: カード、 支払明細: { 名前: $('.card_holder_name').val() } } } ).then(関数(結果) { if (結果.エラー) { トースター.エラー( '__("レンタル。入力したデータにエラーが含まれています。レビュー それを試して、もう一度試してください")') $('#pay-btn').removeAttr('無効') }それ以外 { PaymentMethod = result.setupIntent.payment_method $('.支払い方法').val(支払い方法) $('.card-form').submit() $('span.icon').removeAttr('hidden'); $('#pay-btn').attr('無効', true) } }) falseを返す }) <div class="tab-content mt-4 " id="card-tab" style="display:none"> <フォームメソッド="POST" アクション="{{ ルート('レンタル.購入', $プラン) }}" class="カードフォーム mt-3 mb-3"> @csrf <input type="hidden" name="支払い方法" class="支払い方法"> <input type="hidden" name="system_id" value="{{ encrypt($system->id) }}"> <input type="hidden" name="box_id" value="{{ encrypt($box->id) }}"> <div class="mb-4"> <input class="StripeElement form-input px-4 py-3rounded-lg w-full" name="カード所有者名" プレースホルダー="{{ __('レンタル.カード所有者 名前') }}"> </div> <div> <div id="カード要素"></div> </div> <div id="card-errors" role="alert"></div> <div class="mt-3 text-center"> <button type="submit" class="bg-red-500 text-white font-bold py-2 px-4rounded" id="pay-btn">{{ __('rental.Pay') } } {{ $plan->価格 }} &ユーロ; <span class="icon" hidden><i class="fas fa-sync fa-spin"></i></span></button> </div> </フォーム> </div> そしてこれは私がデバッグするとき #_originalValues: 配列:39 [▼ "id" => 「pi_3NZqdIC6ZwDjQHNX1R7KJLoO」 「オブジェクト」=> 「支払いの意図」 「金額」=> 100 "amount_capturable" => 0 "金額の詳細" =>配列:1 [▼ 「ヒント」=> [] ] "受け取った金額" => 100</pre> <p><br /></p>
P粉237125700
P粉237125700

人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!