- Proyek NestJS 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 NestJS
Tambahkan Stripe Node SDK resmi, modul Pembayaran, dan pengontrol webhook yang memverifikasi Stripe-Signature pada isi mentah. NestJS adalah API — tidak memasang Elemen Pembayaran dan bukan Penangan Rute Next.js.
Mulai
$175
USD · NestJS
Integrasi Stripe untuk NestJS · NestJS
Requirements
Akses repositori tidak wajib. Akses proyek hanya diperlukan jika Anda ingin Bacodo mengintegrasikannya langsung.
Fungsinya
Bacodo mengintegrasikan Stripe ke dalam proyek NestJS yang sudah Anda miliki. Setelah serah terima, modul, layanan, dan pengontrol berada di repo Anda. Anda masih memiliki akun Stripe, kunci API, dan biaya Stripe. NestJS tidak pernah menyimpan PAN.
Jalur produksi NestJS Stripe memerlukan Stripe SDK resmi, pembuatan PaymentIntent di penyedia, dan konstrukEvent pada buffer permintaan yang tidak dimodifikasi. Parser JSON default Nest merusak verifikasi tanda tangan jika Anda @Body() webhook. Itu adalah bug yang nyata, bukan slogan.
Kami menambahkan modul NestJS (ConfigService untuk STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET), layanan yang membuat PaymentIntents, dan pengontrol webhook yang membaca rawBody. Penulisan pesanan melalui repositori atau ORM yang sudah Anda gunakan — Prisma, TypeORM, atau MikroORM — bukan toko khusus Bacodo.
Tim Anda melewatkan implementasi produksi pertama NestJS Stripe: rawBody on Express atau Fastify, penanganan peristiwa idempoten, PaymentIntents yang sadar SCA, dan serah terima yang mendokumentasikan kunci uji-untuk-langsung.
Insinyur dan agensi backend yang sudah menjalankan NestJS dan memerlukan API pembayaran yang dapat dikelola. Jika Anda menginginkan Next.js App Router atau React SPA, itu adalah arahan Stripe yang berbeda.
Fitur utama
Buat PaymentIntents dengan paket stripe Node di dalam layanan NestJS. Kunci rahasianya berasal dari ConfigService / env — tidak pernah dari DTO yang diposkan klien, dan tidak pernah dari bundel frontend.
stripe.webhooks.constructEvent memerlukan byte yang tepat yang ditandatangani Stripe. Kami mengaktifkan Nest rawBody (atau parser mentah Fastify) pada rute itu. Mengurai JSON terlebih dahulu adalah penyebab kegagalan integrasi NestJS Stripe dalam produksi.
Pemenuhan berjalan di penangan NestJS setelah konstrukEvent berhasil, bukan setelah halaman terima kasih. Kami memperbarui catatan pesanan atau hak Anda yang ada sehingga API yang sudah Anda ekspos mencerminkan status berbayar.
Kirimkan NestJS 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 NestJS mematikan event.id (atau id PaymentIntent) sehingga POST duplikat tidak terpenuhi dua kali.
React, Next.js, atau aplikasi seluler hanya menerima kunci yang dapat dipublikasikan dan rahasia_klien yang berumur pendek dari API NestJS ini. Add-on ini adalah jalur server NestJS, bukan Elemen di dalam Nest.
Kasus penggunaan
Anda sudah membuat pesanan di NestJS dan memerlukan API untuk membuat PaymentIntents dan menandai pesanan tersebut dibayar dari webhook.
Anda memerlukan modul Stripe yang dapat dipelihara di NestJS, sumber di repo klien, dan peralihan live-key yang terdokumentasi alih-alih skrip Express satu kali yang dimasukkan ke main.ts.
NestJS membuat PaymentIntent pertama atau melampirkan metode pembayaran. Penagihan Stripe Berulang dan portal pelanggan tetap berada di server. Pekerjaan Penagihan Berat mungkin memerlukan Penawaran Khusus.
Next.js, React, atau mobile sudah memanggil API NestJS ini. Integrasi Stripe untuk NestJS hanya merupakan sisi API saja — frontend Stripe.js adalah platform yang berbeda jika Anda memerlukannya juga.
Demo
Pratinjau jalur server NestJS: buat PaymentIntent, terima POST /webhooks/stripe, konstrukEvent di rawBody, perbarui status pesanan. Sandbox langsung terhadap akun Stripe Anda tersedia setelah pemeriksaan kompatibilitas. Halaman ini tidak memproses tagihan nyata dan tidak mengumpulkan kartu di NestJS.
Cara kerja
Alur kerja add-on Bacodo standar, dengan pemeriksaan khusus NestJS untuk Express vs Fastify, rawBody, ConfigModule, dan ORM yang sudah digunakan layanan Anda.
01
Konfirmasikan Integrasi Stripe untuk NestJS dan apakah hari pertama adalah PaymentIntents, Checkout Sessions, atau keduanya di API NestJS.
02
Tinjau versi NestJS/Node, adaptor HTTP (Express default atau Fastify), persistensi pesanan yang ada, penjaga autentikasi, dan apakah Anda sudah memiliki akun Stripe.
03
Tambahkan paket stripe, modul Pembayaran, titik akhir create-intent, dan pengontrol webhook yang memverifikasi tanda tangan pada isi mentah.
04
Wire ConfigService 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 NestJS, serta jalur pembuatan niat dan penolakan. Konfirmasikan bahwa badan JSON yang diurai gagal ditandatangani seperti yang diharapkan.
06
Memberikan sumber NestJS, catatan env, dan daftar periksa live-key. Implementasi NestJS dapat Anda pertahankan.
Arsitektur
Proses NestJS menyimpan kunci rahasia. Klien meminta pengontrol NestJS untuk membuat PaymentIntent. Stripe memberi tahu NestJS melalui webhook. NestJS memverifikasi tanda tangan di rawBody, lalu menulis status pesanan.
Teknologi yang didukung
NestJS saat ini pada Node LTS yang diterima Stripe SDK. Adaptor HTTP default adalah Express. Fastify disertakan hanya jika itu sudah menjadi cara aplikasi NestJS melakukan booting dan kami menyetujuinya dalam pemeriksaan kompatibilitas.
PaymentIntents, Sesi Checkout, dan webhook.constructEvent. Kami tidak membuat pembungkus nestjs-stripe tidak resmi untuk produk kecuali Anda secara eksplisit memerlukannya.
Pembaruan pesanan atau hak tetap di Prisma, TypeORM, MikroORM, atau repositori yang sudah Anda miliki. Add-on ini tidak menciptakan database baru.
Akun Stripe Anda, kunci pengujian dan aktif yang digunakan oleh NestJS, titik akhir webhook, dan peristiwa Dasbor. Biaya pemrosesan Stripe tetap menjadi tanggungan Stripe.
Host yang dapat menjalankan Node dan menerima HTTPS POST dari Stripe. Situs khusus statis atau ekspor khusus Next.js tidak dapat menghosting jalur webhook NestJS ini.
Yang termasuk
Pricing
Harga ini hanya untuk platform NestJS. Itu tidak menggunakan harga tambahan Next.js, Django, FastAPI, React, atau Flutter.
Integrasi Stripe untuk NestJS
Tambahkan Stripe PaymentIntents yang siap produksi dan webhook yang ditandatangani ke API NestJS yang ada dan simpan kode sumbernya.
Persyaratan
$175
sekali bayarNestJS
Butuh frontend?
Checkout aman olehstripe
Penyerahan + keamanan
Integrasi NestJS Stripe pada umumnya dicakup setelah pemeriksaan kompatibilitas NestJS. Timeline bergantung pada adaptor HTTP Anda, penjaga autentikasi, dan cara klien memanggil NestJS.
PaymentIntents mode pengujian, tanda tangan webhook, percobaan ulang, dan jalur penolakan dilakukan terhadap aplikasi NestJS 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.
Pengontrol webhook NestJS memverifikasi tanda tangan Stripe pada isi mentah sebelum memperbarui status pesanan atau hak.
Kami tidak mengklaim sertifikasi PCI, tidak ada penipuan, atau jaminan tingkat persetujuan. NestJS tidak menyimpan PAN. Data kartu dikumpulkan oleh Stripe Checkout atau Elements pada klien, bukan DTO kartu NestJS khusus yang kami simpan.
FAQ
Integrasi Stripe untuk NestJS mencakup stripe Node SDK resmi, modul Pembayaran NestJS, layanan create-PaymentIntent, pengontrol webhook yang memanggil buildEvent pada isi mentah, pembaruan status pesanan di penyimpanan Anda yang ada, pengujian terhadap peristiwa pengujian Stripe, dan catatan serah terima. Anda menerima sumber NestJS di proyek Anda. Biaya Stripe dan akun Stripe Anda terpisah.
Ya. Integrasi Stripe untuk NestJS dibuat untuk API NestJS yang sudah Anda miliki. Kami memasangkan modul, pengontrol, dan env ConfigService ke dalam aplikasi NestJS Anda saat ini alih-alih mengirimkan repo demo terpisah sebagai hasil.
Tidak. NestJS tidak boleh menyimpan PAN. Klien menggunakan Stripe Checkout atau Elements. Integrasi Stripe untuk NestJS memiliki PaymentIntents sisi server, webhook, dan penulisan pesanan. DTO NestJS khusus yang memposting data kartu mentah berada di luar cakupan default.
Integrasi Stripe untuk NestJS menggunakan pustaka Node stripe resmi untuk PaymentIntents, Sesi Checkout, dan webhooks.constructEvent. Kami tidak membuat pembungkus nestjs-stripe tidak resmi untuk produk kecuali Anda secara eksplisit memerlukannya.
stripe.webhooks.constructEvent memverifikasi byte persis yang ditandatangani Stripe. Parser JSON default Nest mengubah isi tersebut. Integrasi Stripe untuk NestJS mengaktifkan rawBody (atau parser mentah Fastify) pada rute webhook. Menggunakan @Body() menyebabkan pemeriksaan tanda tangan NestJS gagal dalam produksi.
Integrasi Stripe Default untuk NestJS mengasumsikan adaptor Express yang disertakan dengan Nest. Fastify disertakan hanya jika aplikasi NestJS Anda sudah melakukan booting dengan FastifyAdapter dan kami menyetujui jalur isi mentah selama pemeriksaan kompatibilitas NestJS.
NestJS 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 NestJS yang banyak berlangganan mungkin memerlukan Penawaran Khusus.
Proses NestJS menggunakan kunci rahasia dan rahasia penandatanganan webhook dari variabel ConfigService/lingkungan. Klien hanya menerima kunci yang dapat dipublikasikan. Integrasi Stripe untuk NestJS tidak memasukkan kunci rahasia ke dalam DTO atau paket frontend.
Kami menerapkan Integrasi Stripe untuk NestJS terhadap kunci pengujian Stripe dan menguji peristiwa webhook terlebih dahulu. Tayang adalah peralihan kunci dan titik akhir yang terdokumentasi di Dasbor Stripe dan lingkungan NestJS Anda, bukan aktivasi lisensi tambahan.
NestJS membuat PaymentIntents yang mendukung SCA. Klien menyelesaikan 3-D Secure dengan Stripe.js atau Checkout. NestJS hanya terpenuhi setelah payment_intent.succeeded di webhook, bukan setelah pengalihan browser saja.
Ya untuk pemenuhan setelah PaymentIntent atau Sesi Checkout yang dibuat oleh NestJS. Respons NestJS 201 terhadap klien bukanlah sumber kebenaran. Pengontrol webhook memverifikasi tanda tangan dan kemudian menandai pesanan telah dibayar.
Ya. Integrasi Stripe untuk NestJS biasanya menambahkan kolom atau catatan pembayaran tipis di samping model pesanan NestJS Anda yang sudah ada alih-alih mengganti Prisma, TypeORM, atau MikroORM.
Tidak. Anda membuat dan memiliki akun Stripe, kunci API, dan biaya pemrosesan Stripe. Harga tambahan NestJS diterapkan ke proyek NestJS Anda, bukan lisensi pembayaran Bacodo.
Tidak. NestJS adalah Node API yang berdiri sendiri. Router Aplikasi Next.js dan Penangan Rute adalah Integrasi Stripe untuk Next.js. Kami tidak menulis ulang API NestJS ke Next.js di dalam harga tambahan NestJS ini.
Ya. Metadata PaymentIntent atau Sesi Checkout, catatan pelanggan, dan bidang yang Anda pertahankan setelah konfirmasi webhook diselaraskan dengan model pesanan NestJS yang ada selama Integrasi Stripe untuk NestJS.
Sumber NestJS ada di repo Anda, sehingga tim Anda dapat memeliharanya. Dukungan 30 hari yang disertakan mencakup pertanyaan teknis dan cacat pada integrasi Stripe untuk cakupan NestJS, bukan pekerjaan fitur NestJS yang tidak terkait.
Selama jangka waktu 30 hari, kami membantu mengatasi kerusakan dalam integrasi NestJS yang dikirimkan yang disebabkan oleh API Stripe yang terdokumentasi atau perubahan paket stripe. Peningkatan NestJS 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 NestJS. Dukungan 30 hari mencakup pemecahan masalah kegagalan tanda tangan (biasanya rawBody), percobaan ulang, dan kunci yang salah dikonfigurasi untuk alur NestJS yang dikirimkan.
Kami mengonfirmasi versi NestJS dan Node LTS Anda terhadap rilis stripe yang kami sematkan pada waktu integrasi. Runtime NestJS yang lebih lama atau sangat bercabang mungkin memerlukan cakupan tambahan.
30 hari setelah serah terima sudah termasuk untuk jalur NestJS Stripe yang dikirimkan. Dukungan Teknis yang Diperpanjang bersifat opsional dengan tarif 20% dari harga tambahan NestJS ini dan mencakup bantuan teknis enam bulan lagi pada integrasi NestJS yang sama, bukan pembuatan produk baru.
Tambahkan pembayaran Stripe siap produksi ke API NestJS Anda yang sudah ada, simpan kode sumbernya, dan biarkan server memiliki pemenuhannya.
$175