Paparkan jumlah 0.00 kepada Stripe.
P粉237125700
P粉237125700 2023-07-31 14:36:38
0
1
396
<p>Saya menggunakan Stripe di mana pengguna melanggan pelan berbayar yang berbeza dengan satu pembayaran. Pembayaran dibuat dengan jayanya, tetapi masalah utama ialah semasa proses pembayaran 3D Secure (kami beroperasi di Eropah, cek pembayaran 3D Secure adalah wajib), jumlah yang ditunjukkan kepada pengguna ialah 0,00. Bukan sahaja ini salah, tetapi yang lebih penting, ia mengelirukan orang yang akan membuat pembayaran.</p> <pre class="brush:php;toolbar:false;">pembelian fungsi awam(Minta $request, Plan $plan) { $user = $request->user(); $paymentMethod = $request->input('payment_method'); $encryptedSystemId = $request->input('system_id'); $encryptedBoxId = $request->input('box_id'); // Nyahsulit ID yang disulitkan $systemId = Crypt::decrypt($encryptedSystemId); $boxId = Crypt::decrypt($encryptedBoxId); // Sahkan ID dan kebenaran pengguna $system = System::findOrFail($systemId); $box = Box::findOrFail($boxId); $jumlah = $pelan->harga; cuba { $user->createOrGetStripeCustomer(); $user->updateDefaultPaymentMethod($paymentMethod); $user->charge($total * 100, $paymentMethod, [ 'metadata' => ['id_sistem' => $systemId, 'box_id' => $boxId, 'id_penyewa '=> $pengguna->penyewa->id, ] ]); // * 100 kerana Stripe berurusan dengan sen } tangkapan (Exception $exception) { return back()->with('error', 'Ralat memproses pembayaran: ' . $exception->getMessage()); } <script src="https://js.stripe.com/v3/"></script> <skrip> biarkan jalur = Stripe("{{ env('STRIPE_KEY') }}") biarkan elemen = stripe.elements() biarkan gaya = { asas: { warna: '#32325d', fontFamily: '"Helvetica Neue", Helvetica, sans-serif', fonSmoothing: 'antiliased', Saiz fon: '16px', '::tempat letak': { warna: '#aab7c4' } }, tidak sah: { warna: '#fa755a', Warna ikon: '#fa755a' } } let card = elements.create('card', { gaya: gaya }) card.mount('#card-element') biarkan paymentMethod = null $('.card-form').on('submit', function(e) { $('#pay-btn').attr('disabled', true) jika (kaedah pembayaran) { kembali benar } stripe.confirmCardSetup( "{{ $intent->client_secret }}", { kaedah_pembayaran: { kad: kad, maklumat Bil: { nama: $('.card_holder_name').val() } } } ).then(fungsi(hasil) { jika (hasil. ralat) { toastr.error( '__("rental.Data yang anda masukkan mengandungi ralat! Semak itu dan cuba lagi")') $('#pay-btn').removeAttr('disabled') }lain { paymentMethod = result.setupIntent.payment_method $('.payment-method').val(paymentMethod) $('.card-form').submit() $('span.icon').removeAttr('tersembunyi'); $('#pay-btn').attr('disabled', true) } }) kembali palsu }) <div class="tab-content mt-4 " id="card-tab" style="display:none"> <form method="POST" action="{{ route('rentals.purchase', $plan) }}" class="kad-bentuk mt-3 mb-3"> @csrf <input type="hidden" name="payment_method" class="payment-method"> <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-3 rounded-lg w-full" name="card_holder_name" placeholder="{{ __('rental.Cardholder Nama') }}"> </div> <div> <div id="card-element"></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-4 rounded" id="pay-btn">{{ __('rental.Pay') } } {{ $pelan->harga }} &euro; <span class="icon" hidden><i class="fas fa-sync fa-spin"></i></span></button> </div> </form> </div> dan ini apabila saya nyahpepijat #_originalValues: tatasusunan:39 [▼ "id" => "pi_3NZqdIC6ZwDjQHNX1R7KJLoO" "objek" => "niat_pembayaran" "jumlah" => 100 "amount_capturable" => 0 "jumlah_butiran" => tatasusunan:1 [▼ "tip" => [] ] "jumlah_terima" => 100</pra> <p><br /></p>
P粉237125700
P粉237125700

membalas semua(1)
P粉403549616

根据您提供的代码,您正在使用SetupIntents来收集付款方式的详细信息。SetupIntents用于收集用于将来使用的付款方式详细信息:https://stripe.com/docs/payments/save-and-reuse。预计如果需要3DS,则金额为0.00,因为您在收集付款方式时不会对卡片收取任何金额。

如果您正在使用订阅功能,您应该按照此指南进行操作:https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=elements,在付款时收集和保存付款方式。

如果您正在使用一次性付款,则可以在付款同时收集和保存付款方式的详细信息:https://stripe.com/docs/payments/save-during-payment。

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!