- Proyek FastAPI yang sudah ada
- Akses Stripe Test Mode
- Frontend diperlukan untuk UI pembayaran
Akses repositori tidak wajib. Akses proyek hanya diperlukan jika Anda ingin Bacodo mengintegrasikannya langsung.
Pengaya FastAPI
Tambahkan Stripe Python SDK resmi, APIRouter, dan webhook yang memverifikasi Stripe-Signature pada waiting request.body(). FastAPI adalah API — ini bukan Django, bukan DRF, dan tidak mengumpulkan kartu.
Mulai
$229
USD · FastAPI
Integrasi Stripe untuk FastAPI · FastAPI
Requirements
Akses repositori tidak wajib. Akses proyek hanya diperlukan jika Anda ingin Bacodo mengintegrasikannya langsung.
Fungsinya
Bacodo mengintegrasikan Stripe ke dalam proyek FastAPI yang sudah Anda miliki. Setelah serah terima, router, dependensi, dan pengaturan berada di repo Anda. Anda masih memiliki akun Stripe, kunci API, dan biaya Stripe. FastAPI tidak pernah menyimpan PAN.
Jalur FastAPI Stripe produksi memerlukan paket stripe resmi, pembuatan PaymentIntent dalam dependensi atau layanan, dan build_event pada byte permintaan mentah. Jika Anda menunggu request.json() terlebih dahulu, pemeriksaan tanda tangan gagal. Itu adalah bug webhook FastAPI yang biasa.
Kami menambahkan APIRouter, pengaturan pydantic (atau Pengaturan Anda yang sudah ada), titik akhir niat pembuatan dengan model permintaan Pydantic, dan webhook yang menggunakan menunggu request.body(). Penulisan pesanan melalui SQLAlchemy, repositori yang sudah Anda miliki, atau penyimpanan apa pun yang sudah digunakan aplikasi FastAPI — bukan Django ORM.
Tim Anda melewatkan implementasi FastAPI Stripe produksi pertama: webhook isi mentah, penanganan peristiwa idempoten, PaymentIntents yang mendukung SCA, dan serah terima yang mendokumentasikan kunci uji-untuk-langsung.
Insinyur dan agensi backend Python yang sudah menjalankan FastAPI. Jika API Anda adalah Django, itu adalah Integrasi Stripe untuk Django — kami tidak menempelkan urls.py ke dalam aplikasi FastAPI.
Fitur utama
Buat PaymentIntents dengan pustaka stripe Python dari ketergantungan atau layanan FastAPI. Kunci rahasianya berasal dari Pengaturan / env — tidak pernah dari model Pydantic yang diposting klien.
stripe.Webhook.construct_event memerlukan byte yang tepat yang ditandatangani Stripe. Rute FastAPI berbunyi menunggu request.body() dan header Stripe-Signature. Mengurai JSON terlebih dahulu adalah penyebab kegagalan integrasi FastAPI Stripe dalam produksi.
Pemenuhan berjalan di pengendali FastAPI setelah konstruk_event berhasil, bukan setelah halaman terima kasih. Kami memperbarui catatan pesanan atau hak Anda yang ada.
Kirim FastAPI dengan kunci pengujian Stripe dan rahasia webhook terlebih dahulu. Tayang adalah peralihan titik akhir env dan Dasbor yang terdokumentasi, bukan lisensi tambahan.
Percobaan ulang garis. Penangan FastAPI mematikan event.id (atau id PaymentIntent) sehingga POST duplikat tidak terpenuhi dua kali.
Aplikasi React, Next.js, atau seluler hanya menerima kunci yang dapat diterbitkan dan rahasia_klien yang berumur pendek dari aplikasi FastAPI ini. Add-on ini adalah jalur server FastAPI, bukan Elemen di dalam template Jinja.
Kasus penggunaan
Anda sudah membuat pesanan di FastAPI dan memerlukan API untuk membuat PaymentIntents dan menandai pesanan tersebut dibayar dari webhook.
Anda memerlukan router Stripe yang dapat dipelihara di FastAPI, sumber di repo klien, dan peralihan kunci langsung yang terdokumentasi alih-alih skrip satu kali di samping main.py.
FastAPI membuat PaymentIntent pertama atau melampirkan metode pembayaran. Penagihan Stripe Berulang tetap berada di server. Pekerjaan Penagihan Berat mungkin memerlukan Penawaran Khusus.
Next.js, React, atau mobile sudah memanggil aplikasi FastAPI ini. Integrasi Stripe untuk FastAPI hanya merupakan sisi API saja — frontend Stripe.js adalah platform yang berbeda jika Anda memerlukannya juga.
Demo
Pratinjau jalur server FastAPI: buat PaymentIntent, terima POST /webhooks/stripe, konstruk_event pada request.body(), perbarui status pesanan. Sandbox langsung terhadap akun Stripe Anda tersedia setelah pemeriksaan kompatibilitas. Halaman ini tidak memproses tagihan nyata dan tidak mengumpulkan kartu di FastAPI.
Cara kerja
Alur kerja add-on Bacodo standar, dengan pemeriksaan khusus FastAPI untuk uvicorn, pengaturan pydantic, panggilan async vs sync stripe, dan penyimpanan yang sudah digunakan rute Anda.
01
Konfirmasikan Integrasi Stripe untuk FastAPI dan apakah hari pertama adalah PaymentIntents, Checkout Sessions, atau keduanya di aplikasi FastAPI.
02
Tinjau versi FastAPI/Python, pydantic v2, persistensi pesanan yang ada (SQLAlchemy atau lainnya), dependensi autentikasi, dan apakah Anda sudah memiliki akun Stripe.
03
Tambahkan paket stripe, APIRouter, titik akhir create-intent, dan webhook yang memverifikasi tanda tangan pada waiting request.body().
04
Pengaturan Kawat dari env: kunci rahasia, kunci yang dapat diterbitkan untuk klien, rahasia webhook, dan Stripe URL HTTPS publik akan dipanggil.
05
Jalankan peristiwa pengujian Stripe CLI atau Dashboard terhadap webhook FastAPI, ditambah jalur buat niat dan tolak. Konfirmasikan request.json() akan gagal menandatangani seperti yang diharapkan.
06
Memberikan sumber FastAPI, catatan env, dan daftar periksa live-key. Implementasi FastAPI adalah milik Anda untuk dipertahankan.
Arsitektur
Proses FastAPI menyimpan kunci rahasia. Klien meminta rute FastAPI untuk membuat PaymentIntent. Stripe memberi tahu FastAPI melalui webhook. FastAPI memverifikasi tanda tangan pada request.body(), lalu menulis status pesanan.
Teknologi yang didukung
FastAPI saat ini pada versi Python yang diterima stripe SDK, biasanya disajikan dengan uvicorn. Ini bukan Django dan bukan Flask — kami tidak menambahkan urls.py atau cetak biru Flask.
PaymentIntents, Sesi Checkout, dan Webhook.construct_event. Panggilan sinkronisasi dari rute async dicakup dengan jujur (threadpool atau StripeClient async) — kami tidak menganggap pemblokiran stripe gratis di dalam async def.
Pembaruan pesanan atau hak tetap di SQLAlchemy, toko lain, atau repositori yang sudah Anda miliki. Pengaya ini tidak menciptakan model Django.
Akun Stripe Anda, kunci pengujian dan aktif yang digunakan oleh FastAPI, titik akhir webhook, dan peristiwa Dasbor. Biaya pemrosesan Stripe tetap menjadi tanggungan Stripe.
Host yang dapat menjalankan uvicorn (atau yang setara) dan menerima HTTPS POST dari Stripe. Situs statis saja tidak dapat menghosting jalur webhook FastAPI ini.
Yang termasuk
Pricing
Harga ini hanya untuk platform FastAPI saja. Itu tidak menggunakan harga tambahan Django, NestJS, Next.js, React, atau Flutter.
Integrasi Stripe untuk FastAPI
Tambahkan Stripe PaymentIntents yang siap produksi dan webhook yang ditandatangani ke aplikasi FastAPI yang ada dan simpan kode sumbernya.
Persyaratan
$229
sekali bayarFastAPI
Butuh frontend?
Checkout aman olehstripe
Penyerahan + keamanan
Integrasi FastAPI Stripe pada umumnya dicakup setelah pemeriksaan kompatibilitas FastAPI. Garis waktu bergantung pada lapisan persistensi Anda dan cara klien memanggil FastAPI.
PaymentIntents mode pengujian, tanda tangan webhook, percobaan ulang, dan jalur penolakan dilakukan terhadap aplikasi FastAPI sebelum kami menyerahkannya.
Kunci rahasia dan rahasia penandatanganan webhook tetap berada di lingkungan server. Klien hanya menerima kunci yang dapat diterbitkan atau rahasia_klien yang berumur pendek.
Rute webhook FastAPI memverifikasi tanda tangan Stripe pada isi mentah sebelum memperbarui status pesanan atau kepemilikan.
Kami tidak mengklaim sertifikasi PCI, tidak ada penipuan, atau jaminan tingkat persetujuan. FastAPI tidak menyimpan PAN. Data kartu dikumpulkan oleh Stripe Checkout atau Elements pada klien, bukan Formulir FastAPI khusus yang kami simpan.
FAQ
Integrasi Stripe untuk FastAPI mencakup Stripe Python SDK resmi, FastAPI APIRouter, titik akhir create-PaymentIntent, webhook yang memanggil build_event pada waiting request.body(), pembaruan status pesanan pada penyimpanan Anda yang ada, pengujian terhadap peristiwa pengujian Stripe, dan catatan serah terima. Anda menerima sumber FastAPI di proyek Anda. Biaya Stripe dan akun Stripe Anda terpisah.
Ya. Integrasi Stripe untuk FastAPI dibuat untuk aplikasi FastAPI yang sudah Anda miliki. Kami menyesuaikan router, dependensi, dan Pengaturan ke dalam proyek FastAPI Anda saat ini alih-alih mengirimkan aplikasi demo terpisah sebagai hasil.
Tidak. FastAPI tidak boleh menyimpan PAN. Klien menggunakan Stripe Checkout atau Elements. Integrasi Stripe untuk FastAPI memiliki PaymentIntents sisi server, webhook, dan penulisan pesanan. Formulir FastAPI khusus yang memposting data kartu mentah berada di luar cakupan default.
Integrasi Stripe untuk FastAPI menggunakan pustaka stripe Python resmi untuk PaymentIntents, Sesi Checkout, dan Webhook.construct_event. Kami tidak menggabungkan pembayaran FastAPI dalam plugin yang tidak berdokumen kecuali Anda secara eksplisit memerlukannya.
stripe.Webhook.construct_event memverifikasi byte persis yang ditandatangani Stripe. menunggu request.json() mem-parsing dan mengubah isi itu. Integrasi Stripe untuk FastAPI membaca menunggu request.body() pada rute webhook. Itu adalah kegagalan pemeriksaan tanda tangan FastAPI yang biasa jika Anda melewatkannya.
Tidak. FastAPI menggunakan pengaturan APIRouter, Depends, dan pydantic. Tampilan Django, urls.py, dan Django ORM adalah Integrasi Stripe untuk Django. Kami tidak menempelkan pola Django ke dalam aplikasi FastAPI.
FastAPI dapat membuat PaymentIntent atau Sesi Checkout dan menyimpan id pelanggan Stripe. Produk Stripe Billing berulang, portal pelanggan, dan logika faktur tetap berada di server. Pekerjaan FastAPI yang banyak berlangganan mungkin memerlukan Penawaran Khusus.
Proses FastAPI menggunakan kunci rahasia dan rahasia penandatanganan webhook dari variabel Pengaturan/lingkungan. Klien hanya menerima kunci yang dapat dipublikasikan. Integrasi Stripe untuk FastAPI tidak memasukkan kunci rahasia ke dalam model permintaan Pydantic.
Kami menerapkan Integrasi Stripe untuk FastAPI terhadap kunci pengujian Stripe dan menguji peristiwa webhook terlebih dahulu. Tayang adalah peralihan kunci dan titik akhir yang terdokumentasi di Dasbor Stripe dan env FastAPI Anda, bukan aktivasi lisensi tambahan.
FastAPI membuat PaymentIntents yang mendukung SCA. Klien menyelesaikan 3-D Secure dengan Stripe.js atau Checkout. FastAPI hanya terpenuhi setelah payment_intent.succeeded di webhook, bukan setelah pengalihan browser saja.
Ya untuk pemenuhan setelah PaymentIntent atau Sesi Checkout yang dibuat oleh FastAPI. FastAPI 200 untuk klien bukanlah sumber kebenaran. Rute webhook memverifikasi tanda tangan dan kemudian menandai pesanan telah dibayar.
Ya. Integrasi Stripe untuk FastAPI biasanya menambahkan bidang atau catatan pembayaran tipis di samping model pesanan FastAPI Anda yang ada alih-alih mengganti SQLAlchemy atau menciptakan model Django.
Tidak. Anda membuat dan memiliki akun Stripe, kunci API, dan biaya pemrosesan Stripe. Harga add-on FastAPI diterapkan ke dalam proyek FastAPI Anda, bukan lisensi pembayaran Bacodo.
Kami memeriksa hal ini dengan jujur selama pemeriksaan kompatibilitas FastAPI. Memblokir panggilan stripe di dalam async def dipindahkan ke threadpool atau kami menggunakan klien async Stripe di mana rilis stripe yang disematkan mendukungnya. Kami tidak menganggap jalur sinkronisasi gratis di rute FastAPI asinkron.
Ya. Metadata PaymentIntent atau Sesi Checkout, catatan pelanggan, dan bidang yang Anda pertahankan setelah konfirmasi webhook diselaraskan dengan model pesanan FastAPI yang ada selama Integrasi Stripe untuk FastAPI.
Sumber FastAPI ada di repo Anda, sehingga tim Anda dapat memeliharanya. Dukungan 30 hari yang disertakan mencakup pertanyaan teknis dan cacat dalam cakupan Integrasi Stripe untuk FastAPI yang dikirimkan, bukan pekerjaan fitur FastAPI yang tidak terkait.
Selama jangka waktu 30 hari, kami membantu mengatasi kerusakan dalam integrasi FastAPI yang dikirimkan yang disebabkan oleh API Stripe yang terdokumentasi atau perubahan paket stripe. Peningkatan FastAPI yang berkelanjutan setelah itu adalah pemeliharaan Anda, atau Dukungan Teknis yang Diperpanjang jika Anda membelinya.
Kami mendokumentasikan cara membaca status PaymentIntent, log Stripe Dashboard, dan pengiriman webhook FastAPI. Dukungan 30 hari mencakup pemecahan masalah kegagalan tanda tangan (biasanya request.json() bukan request.body()), percobaan ulang, dan kunci yang salah dikonfigurasi untuk alur FastAPI yang dikirimkan.
Kami mengonfirmasi versi FastAPI, Python, dan pydantic v2 Anda terhadap rilis stripe yang kami sematkan pada waktu integrasi. Runtime FastAPI yang lebih lama atau sangat bercabang mungkin memerlukan cakupan tambahan.
30 hari setelah serah terima sudah termasuk untuk jalur FastAPI Stripe yang dikirimkan. Dukungan Teknis yang Diperpanjang bersifat opsional dengan tarif 20% dari harga tambahan FastAPI ini dan mencakup bantuan teknis enam bulan lagi pada integrasi FastAPI yang sama, bukan pembuatan produk baru.
Tambahkan pembayaran Stripe siap produksi ke aplikasi FastAPI Anda yang sudah ada, simpan kode sumbernya, dan biarkan server memiliki pemenuhannya.
$229