- Mevcut NestJS projesi
- Stripe Test Mode erişimi
- Ödeme arayüzü için frontend gerekir
Depo erişimi gerekmez. Proje erişimi yalnızca Bacodo’nun doğrudan entegre etmesini istiyorsanız gerekir.
NestJS eklentisi
Resmi şerit Node SDK'sını, Ödeme modülünü ve ham gövdede Stripe-Signature'ı doğrulayan bir web kancası denetleyicisini ekleyin. NestJS bir API'dir; Ödeme Öğesini bağlamaz ve Next.js Rota İşleyicileri değildir.
Başlangıç
$175
USD · NestJS
NestJS için Stripe Entegrasyonu · NestJS
Requirements
Depo erişimi gerekmez. Proje erişimi yalnızca Bacodo’nun doğrudan entegre etmesini istiyorsanız gerekir.
Ne işe yarar
Bacodo, Stripe'ı halihazırda sahip olduğunuz NestJS projesine entegre eder. Devir teslimden sonra modül, hizmet ve denetleyici deponuzda yer alır. Stripe hesabı, API anahtarları ve Stripe ücretleri hâlâ size aittir. NestJS hiçbir zaman PAN'ı saklamaz.
Üretim NestJS Stripe yolunun resmi şerit SDK'sına, bir sağlayıcıda PaymentIntent oluşturulmasına ve değiştirilmemiş istek arabelleğinde buildEvent'e ihtiyacı vardır. Web kancasını @Body() yaparsanız, Nest'in varsayılan JSON ayrıştırıcısı imza doğrulamasını bozar. Bu gerçek bir hatadır, bir slogan değil.
Bir NestJS modülü (STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET için ConfigService), PaymentIntents oluşturan bir hizmet ve rawBody okuyan bir webhook denetleyicisi ekliyoruz. Sipariş yazma işlemleri, yalnızca Bacodo'ya ait bir mağaza değil, halihazırda kullandığınız depo veya ORM (Prisma, TypeORM veya MikroORM) aracılığıyla gerçekleştirilir.
Ekibiniz ilk üretim NestJS Stripe uygulamasını atlıyor: Express veya Fastify'da rawBody, bağımsız olay işleme, SCA uyumlu PaymentIntent'ler ve testten canlıya anahtarları belgeleyen bir devir.
Halihazırda NestJS çalıştıran ve sürdürülebilir bir ödeme API'sine ihtiyaç duyan arka uç mühendisleri ve ajansları. Next.js Uygulama Yönlendiricisi veya React SPA istiyorsanız bunlar farklı Stripe açılışlarıdır.
Temel özellikler
Bir NestJS hizmeti içindeki şerit Düğümü paketiyle PaymentIntents oluşturun. Gizli anahtar ConfigService / env'den gelir; asla müşterinin gönderdiği bir DTO'dan ve asla bir ön uç paketinden gelmez.
stripe.webhooks.constructEvent, Stripe'ın imzaladığı tam bayt sayısına ihtiyaç duyar. Bu rotada Nest rawBody'yi (veya Fastify ham ayrıştırıcısını) etkinleştiriyoruz. Önce JSON'u ayrıştırmak, NestJS Stripe entegrasyonlarının üretimde nasıl başarısız olduğunu gösterir.
Yerine getirme, bir teşekkür sayfasından sonra değil, buildEvent başarılı olduktan sonra NestJS işleyicisinde çalışır. Mevcut siparişinizi veya yetkilendirme kaydınızı, halihazırda kullanıma sunduğunuz API'nin ücretli durumu yansıtacağı şekilde güncelleriz.
NestJS'yi öncelikle Stripe test anahtarları ve webhook sırrıyla birlikte gönderin. Canlı yayına geçmek, bir eklenti lisansı değil, belgelenmiş bir ortam ve Kontrol Paneli uç noktası geçişidir.
Stripe yeniden dener. NestJS işleyicisi event.id'yi (veya PaymentIntent kimliğini) kapatır, böylece yinelenen POST iki kez yerine getirilmez.
Bir React, Next.js veya mobil uygulama, bu NestJS API'sinden yalnızca yayınlanabilir bir anahtar ve kısa ömürlü bir client_secret alır. Bu eklenti, Nest içindeki Öğeler değil, NestJS sunucu yoludur.
Kullanım senaryoları
Zaten NestJS'de siparişler oluşturuyorsunuz ve PaymentIntent'ler oluşturmak ve web kancalarından ödenen siparişleri işaretlemek için API'ye ihtiyacınız var.
NestJS'de bakımı yapılabilir bir Stripe modülüne, istemci deposundaki kaynağa ve main.ts'e bırakılan tek seferlik Express komut dosyası yerine belgelenmiş bir canlı anahtar geçişine ihtiyacınız var.
NestJS ilk PaymentIntent'i oluşturur veya bir ödeme yöntemi ekler. Yinelenen Şerit Faturalandırma ve müşteri portalı sunucuda kalır. Ağır Faturalandırma işleri Özel Teklif gerektirebilir.
Next.js, React veya mobile zaten bu NestJS API'yi çağırıyor. NestJS için Stripe Entegrasyonu yalnızca API tarafıdır; ön uç Stripe.js, ihtiyacınız varsa farklı bir platform girişidir.
Demo
NestJS sunucu yolunu önizleyin: PaymentIntent oluşturun, POST /webhooks/stripe alın, rawBody'de buildEvent alın, sipariş durumunu güncelleyin. Uyumluluk kontrolünden sonra Stripe hesabınıza karşı canlı bir sanal alan kullanılabilir. Bu sayfa gerçek ödemeleri işlemez ve NestJS'de kart toplamaz.
Nasıl çalışır
Express ve Fastify, rawBody, ConfigModule ve hizmetlerinizin halihazırda kullandığı ORM için NestJS'ye özel kontroller içeren standart Bacodo eklenti iş akışı.
01
NestJS için Stripe Entegrasyonunu ve ilk günün NestJS API'sinde PaymentIntents, Checkout Sessions veya her ikisi birden olup olmadığını onaylayın.
02
NestJS / Node sürümlerini, HTTP bağdaştırıcısını (Express varsayılan veya Fastify), mevcut sipariş kalıcılığını, kimlik doğrulama korumalarını ve zaten bir Stripe hesabınızın olup olmadığını inceleyin.
03
Şerit paketini, Ödeme modülünü, amaç oluşturma uç noktasını ve ham gövdedeki imzaları doğrulayan bir web kancası denetleyicisini ekleyin.
04
Env'den Wire ConfigService: gizli anahtar, istemciler için yayınlanabilir anahtar, webhook sırrı ve genel HTTPS URL Stripe'ın çağıracağı.
05
NestJS webhook'a karşı Stripe CLI veya Dashboard test etkinliklerinin yanı sıra amaç oluşturma ve reddetme yollarını çalıştırın. Ayrıştırılmış bir JSON gövdesinin beklendiği gibi imzada başarısız olduğunu doğrulayın.
06
NestJS kaynağını, env notlarını ve canlı anahtar kontrol listesini sunun. NestJS uygulamasının bakımı size aittir.
Mimari
NestJS süreci gizli anahtarı tutar. Müşteriler bir NestJS denetleyicisinden PaymentIntent oluşturmasını ister. Stripe, NestJS'yi web kancasıyla bilgilendirir. NestJS, rawBody'deki imzayı doğrular ve ardından sipariş durumunu yazar.
Desteklenen teknolojiler
Şerit SDK'sının kabul ettiği bir Düğüm LTS'deki mevcut NestJS. Varsayılan HTTP bağdaştırıcısı Express'tir. Fastify, yalnızca NestJS uygulamasının zaten bu şekilde önyüklendiği ve uyumluluk kontrolünde bunu kabul ettiğimiz durumlarda dahil edilir.
PaymentIntents, Ödeme Oturumları ve webhooks.constructEvent. Açıkça gerek duymadığınız sürece, ürüne resmi olmayan bir Nestjs-stripe ambalajı yapmayız.
Sipariş veya yetkilendirme güncellemeleri Prisma, TypeORM, MikroORM veya halihazırda sahip olduğunuz depoda kalır. Bu eklenti yeni bir veritabanı icat etmez.
Stripe hesabınız, NestJS tarafından kullanılan test ve canlı anahtarlarınız, webhook uç noktası ve Kontrol Paneli etkinlikleri. Stripe işlem ücretleri Stripe'a aittir.
Node'u çalıştırabilen ve Stripe'tan HTTPS POST'ları alabilen bir ana bilgisayar. Yalnızca statik bir site veya yalnızca Next.js dışa aktarımı bu NestJS webhook yolunu barındıramaz.
Neler dahil
Pricing
Bu fiyat yalnızca NestJS platformu içindir. Next.js, Django, FastAPI, React veya Flutter eklenti fiyatlandırmasını kullanmaz.
NestJS için Stripe Entegrasyonu
Mevcut bir NestJS API'sine üretime hazır Stripe PaymentIntent'leri ve imzalı web kancalarını ekleyin ve kaynak kodunu saklayın.
Gereksinimler
$175
tek seferlikNestJS
Frontend gerekir mi?
Güvenli ödeme:stripe
Teslimat ve güvenlik
Tipik NestJS Stripe entegrasyonunun kapsamı NestJS uyumluluk kontrolünden sonra belirlenir. Zaman çizelgesi, HTTP bağdaştırıcınıza, kimlik doğrulama korumalarınıza ve istemcilerin NestJS'yi nasıl çağırdığına bağlıdır.
Test modu Ödeme Amaçları, webhook imzaları, yeniden denemeler ve reddetme yolları, teslim edilmeden önce NestJS uygulamasına karşı uygulanır.
Gizli anahtarlar ve web kancası imzalama sırları sunucu ortamında kalır. İstemciler yalnızca yayınlanabilir bir anahtar veya kısa ömürlü bir client_secret alır.
NestJS webhook denetleyicisi, siparişi veya yetki durumunu güncellemeden önce ham gövdedeki Stripe imzalarını doğrular.
PCI sertifikası, sıfır sahtekarlık veya garantili onay oranları talep etmiyoruz. NestJS PAN'ı saklamaz. Kart verileri, devam ettirdiğimiz özel bir NestJS kart DTO'su değil, Stripe Checkout veya Elements tarafından bir istemcide toplanır.
SSS
NestJS için Stripe Entegrasyonu, resmi şerit Node SDK'sını, bir NestJS Ödeme modülünü, bir create-PaymentIntent hizmetini, ham gövdede buildEvent'i çağıran bir web kancası denetleyicisini, mevcut mağazanızdaki sipariş durumu güncellemelerini, Stripe test olaylarına karşı testleri ve devir notlarını içerir. Projenizde NestJS kaynağını alırsınız. Stripe ücretleri ve Stripe hesabınız ayrıdır.
Evet. NestJS için Stripe Entegrasyonu, halihazırda sahip olduğunuz bir NestJS API'si için oluşturulmuştur. Teslimat olarak ayrı bir demo deposu göndermek yerine mevcut NestJS uygulamanıza bir modül, denetleyici ve ConfigService ortamı yerleştiriyoruz.
Hayır. NestJS, PAN'ı saklamamalıdır. Müşteriler Stripe Checkout veya Elements kullanıyor. NestJS için Stripe Entegrasyonu, sunucu tarafı PaymentIntent'lere, web kancalarına ve sipariş yazma işlemlerine sahiptir. Ham kart verilerini yayınlayan özel bir NestJS DTO, varsayılan kapsamın dışındadır.
NestJS için Stripe Entegrasyonu, PaymentIntents, Checkout Sessions ve webhooks.constructEvent için resmi şerit Node kitaplığını kullanır. Açıkça gerek duymadığınız sürece, ürüne resmi olmayan bir Nestjs-stripe ambalajı yapmayız.
stripe.webhooks.constructEvent, Stripe'ın imzaladığı tam bayt sayısını doğrular. Nest'in varsayılan JSON ayrıştırıcısı bu gövdeyi değiştirir. NestJS için Stripe Entegrasyonu, webhook yolunda rawBody'yi (veya Fastify ham ayrıştırıcısını) etkinleştirir. @Body() kullanıldığında NestJS imza kontrollerinin üretimde nasıl başarısız olduğu ortaya çıkar.
NestJS için Varsayılan Stripe Entegrasyonu, Nest'in birlikte geldiği Ekspres bağdaştırıcıyı varsayar. Fastify, yalnızca NestJS uygulamanız zaten FastifyAdapter ile önyükleniyorsa ve NestJS uyumluluk kontrolü sırasında ham gövde yolunu kabul ediyorsak dahil edilir.
NestJS, PaymentIntent veya Checkout Oturumu oluşturabilir ve Stripe müşteri kimliğini saklayabilir. Yinelenen Stripe Billing ürünleri, müşteri portalı ve fatura mantığı sunucuda kalır. Abonelik ağırlıklı NestJS çalışmaları için Özel Fiyat Teklifi gerekebilir.
NestJS işlemi, ConfigService / ortam değişkenlerinden gelen gizli anahtarı ve web kancası imzalama sırrını kullanır. İstemciler yalnızca yayınlanabilir anahtarı alır. NestJS için Stripe Entegrasyonu, gizli anahtarları DTO'lara veya ön uç paketine yerleştirmez.
NestJS için Stripe Entegrasyonunu Stripe test anahtarlarına karşı uyguluyoruz ve önce webhook olaylarını test ediyoruz. Canlı yayına geçmek, bir eklenti lisansı aktivasyonu değil, Stripe Dashboard'unuzda ve NestJS ortamınızda belgelenmiş bir anahtar ve uç nokta geçişidir.
NestJS, SCA'yı destekleyen PaymentIntent'ler oluşturur. Müşteri 3-D Secure'u Stripe.js veya Checkout ile tamamlar. NestJS, yalnızca tarayıcı yönlendirmesinden sonra değil, web kancasında ödeme_intent.succeeded işleminden sonra yerine gelir.
NestJS tarafından oluşturulan PaymentIntent veya Checkout Oturumundan sonra yerine getirilmesi için evet. Müşteriye verilen NestJS 201 yanıtı gerçeğin kaynağı değildir. Webhook denetleyicisi imzaları doğrular ve ardından ödenen siparişi işaretler.
Evet. NestJS için Stripe Entegrasyonu, Prisma, TypeORM veya MikroORM'yi değiştirmek yerine genellikle mevcut NestJS sipariş modelinizin yanına alanlar veya ince bir ödeme kaydı ekler.
Hayır. Stripe hesabını, API anahtarlarını ve Stripe işlem ücretlerini siz oluşturursunuz ve bunların sahibi olursunuz. NestJS eklenti fiyatı, Bacodo ödeme lisansı değil, NestJS projenize uygulanır.
Hayır. NestJS bağımsız bir Node API'sidir. Next.js Uygulama Yönlendiricisi ve Rota İşleyicileri Next.js için Stripe Entegrasyonudur. Bu NestJS eklenti fiyatı içerisinde bir NestJS API'sini Next.js'ye yeniden yazmıyoruz.
Evet. PaymentIntent veya Ödeme Oturumu meta verileri, müşteri kayıtları ve webhook onayından sonra devam ettirdiğiniz alanlar, NestJS için Stripe Entegrasyonu sırasında mevcut NestJS sipariş modelinize hizalanır.
NestJS kaynağı deponuzda olduğundan ekibiniz bu kaynağın bakımını yapabilir. Dahil edilen 30 günlük destek, ilgisiz NestJS özellik çalışmasını değil, NestJS için sunulan Stripe Entegrasyonu kapsamındaki teknik soruları ve kusurları kapsar.
30 günlük süre boyunca, teslim edilen NestJS entegrasyonunda belgelenen bir Stripe API veya şerit paketi değişikliği nedeniyle meydana gelen kesintilere yardımcı oluyoruz. Bundan sonra devam eden NestJS yükseltmeleri bakımınızdır veya satın alırsanız Genişletilmiş Teknik Destektir.
PaymentIntent durumunu, Stripe Dashboard günlüklerini ve NestJS webhook dağıtımını nasıl okuyacağımızı belgeliyoruz. 30 günlük destek, teslim edilen NestJS akışı için imza hatalarının giderilmesini (genellikle rawBody), yeniden denemeleri ve yanlış yapılandırılmış anahtarları içerir.
NestJS ve Node LTS sürümlerinizi, entegrasyon zamanında sabitlediğimiz şerit sürümüne göre doğrularız. Daha eski veya yoğun şekilde çatallanmış NestJS çalışma zamanları ekstra kapsam gerektirebilir.
Teslim edilen NestJS Stripe yoluna devir teslimden sonraki 30 gün dahildir. Genişletilmiş Teknik Destek, bu NestJS eklenti fiyatının %20'si karşılığında isteğe bağlıdır ve yeni bir ürün yapısını değil, aynı NestJS entegrasyonuna ilişkin altı ay daha teknik yardımı kapsar.
Üretime hazır Stripe ödemelerini mevcut NestJS API'nize ekleyin, kaynak kodunu saklayın ve ödemenin sunucuya ait olmasına izin verin.
$175