Paparkan jumlah 0.00 kepada Stripe.
P粉237125700
P粉237125700 2023-07-31 14:36:38
0
1
483

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.

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()); }   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 })  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 


P粉237125700
P粉237125700

membalas semua (1)
P粉403549616

Berdasarkan kod yang anda berikan, anda menggunakan SetupIntents untuk mengumpul butiran kaedah pembayaran. SetupIntents digunakan untuk mengumpulkan butiran kaedah pembayaran untuk kegunaan masa hadapan: https://stripe.com/docs/payments/save-and-reuse. Jangkakan jumlahnya ialah 0.00 jika 3DS diperlukan kerana tiada amaun akan dicaj pada kad apabila anda mengambil kaedah pembayaran anda.

Jika anda menggunakan ciri langganan, anda harus mengikuti panduan ini: https://stripe.com/docs/billing/subscriptions/build-subscriptions?ui=elements untuk mengumpul dan menyimpan kaedah pembayaran semasa membuat pembayaran.

Jika anda menggunakan pembayaran sekali sahaja, anda boleh mengumpul dan menyimpan butiran kaedah pembayaran pada masa yang sama semasa anda membuat pembayaran: 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!