- Istniejący projekt NestJS
- Dostęp do Stripe Test Mode
- Do interfejsu płatności potrzebny jest frontend
Dostęp do repozytorium nie jest wymagany. Dostęp do projektu jest potrzebny tylko, gdy Bacodo ma zintegrować dodatek bezpośrednio.
Dodatek NestJS
Dodaj oficjalny zestaw SDK Stripe Node, moduł Payments i kontroler webhook, który weryfikuje podpis Stripe na surowej treści. NestJS to API — nie montuje elementu płatniczego i nie jest modułem obsługi tras Next.js.
Od
$175
USD · NestJS
Integracja Stripe dla NestJS · NestJS
Requirements
Dostęp do repozytorium nie jest wymagany. Dostęp do projektu jest potrzebny tylko, gdy Bacodo ma zintegrować dodatek bezpośrednio.
Co robi
Bacodo integruje Stripe z projektem NestJS, który już posiadasz. Po przekazaniu moduł, usługa i kontroler znajdują się w Twoim repozytorium. Nadal jesteś właścicielem konta Stripe, kluczy API i opłat Stripe. NestJS nigdy nie przechowuje PAN.
Ścieżka produkcyjna NestJS Stripe wymaga oficjalnego zestawu SDK Stripe, utworzenia PaymentIntent u dostawcy i zdarzenia konstrukcyjnego w niezmodyfikowanym buforze żądań. Domyślny parser JSON Nest przerywa weryfikację podpisu, jeśli użyjesz @Body() webhooka. To prawdziwy błąd, a nie slogan.
Dodajemy moduł NestJS (ConfigService dla STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET), usługę tworzącą PaymentIntents oraz kontroler webhook czytający rawBody. Zapisy zamówień przechodzą przez repozytorium lub ORM, którego już używasz — Prisma, TypeORM lub MikroORM — a nie sklep obsługujący wyłącznie Bacodo.
Twój zespół pomija pierwszą produkcyjną implementację NestJS Stripe: rawBody w Express lub Fastify, idempotentna obsługa zdarzeń, PaymentIntents obsługujące SCA i przekazanie dokumentujące klucze do testowania.
Inżynierowie zaplecza i agencje, które już korzystają z NestJS i potrzebują łatwego w utrzymaniu interfejsu API płatności. Jeśli potrzebujesz routera aplikacji Next.js lub React SPA, są to różne lądowania Stripe.
Kluczowe funkcje
Utwórz PaymentIntents za pomocą pakietu Stripe Node w usłudze NestJS. Tajny klucz pochodzi z ConfigService / env — nigdy z DTO publikowanego przez klienta i nigdy z pakietu frontendowego.
stripe.webhooks.constructEvent wymaga dokładnie tych bajtów podpisanych przez Stripe. Włączamy Nest rawBody (lub parser surowego Fastify) na tej trasie. Najpierw analizowanie JSON powoduje niepowodzenie integracji NestJS Stripe w środowisku produkcyjnym.
Realizacja odbywa się w procedurze obsługi NestJS po pomyślnym zakończeniu zdarzenia ConstructEvent, a nie po stronie z podziękowaniami. Aktualizujemy Twoje istniejące zamówienie lub rekord uprawnień, aby interfejs API, który już udostępniasz, odzwierciedlał stan płatny.
Najpierw wyślij NestJS z kluczami testowymi Stripe i sekretem webhooka. Uruchomienie to udokumentowane przeniesienie środowiska i punktu końcowego pulpitu nawigacyjnego, a nie licencja dodatkowa.
Próby pasków. Program obsługi NestJS wyłącza event.id (lub identyfikator PaymentIntent), aby zduplikowany POST nie został dwukrotnie spełniony.
React, Next.js lub aplikacja mobilna otrzymuje tylko klucz do publikacji i krótkotrwały sekret_klienta z tego API NestJS. Ten dodatek to ścieżka serwera NestJS, a nie elementy wewnątrz Nest.
Zastosowania
Tworzysz już zamówienia w NestJS i potrzebujesz API, aby utworzyć PaymentIntents i oznaczyć te zamówienia jako opłacone z webhooków.
Potrzebujesz łatwego w utrzymaniu modułu Stripe w NestJS, źródła w repozytorium klienta i udokumentowanego przeniesienia klucza na żywo zamiast jednorazowego skryptu Express upuszczanego do pliku main.ts.
NestJS tworzy pierwszy PaymentIntent lub dołącza metodę płatności. Cykliczne rozliczenia Stripe i portal klienta pozostają na serwerze. Ciężkie prace związane z rozliczeniami mogą wymagać niestandardowej wyceny.
Next.js, React lub mobile już wywołuje to API NestJS. Integracja Stripe dla NestJS to tylko strona API — frontend Stripe.js to inna platforma docelowa, jeśli też tego potrzebujesz.
Demo
Podgląd ścieżki serwera NestJS: utwórz PaymentIntent, odbierz POST /webhooks/stripe,structEvent na rawBody, zaktualizuj stan zamówienia. Aktywna piaskownica powiązana z Twoim kontem Stripe będzie dostępna po sprawdzeniu zgodności. Ta strona nie przetwarza rzeczywistych opłat i nie gromadzi kart w NestJS.
Jak to działa
Standardowy przepływ pracy dodatku Bacodo ze specyficznymi dla NestJS kontrolami Express vs Fastify, rawBody, ConfigModule i ORM, z których już korzystają Twoje usługi.
01
Potwierdź integrację Stripe z NestJS i czy pierwszym dniem są PaymentIntents, Sesje realizacji transakcji, czy oba w interfejsie API NestJS.
02
Sprawdź wersje NestJS/Node, adapter HTTP (domyślny Express lub Fastify), trwałość istniejących zamówień, ochronę autoryzacji i to, czy masz już konto Stripe.
03
Dodaj pakiet Stripe, moduł Payments, punkt końcowy tworzenia intencji i kontroler elementu webhook, który weryfikuje podpisy w nieprzetworzonej treści.
04
Wire ConfigService z env: tajny klucz, klucz do publikacji dla klientów, tajny element webhook i publiczny adres URL HTTPS, który wywoła Stripe.
05
Uruchamiaj zdarzenia testowe Stripe CLI lub Dashboard względem webhooka NestJS, a także ścieżki tworzenia i odrzucania. Potwierdź, że przeanalizowana treść JSON nie została podpisana zgodnie z oczekiwaniami.
06
Dostarcz źródło NestJS, notatki env i listę kontrolną aktywnego klucza. Utrzymanie implementacji NestJS należy do Ciebie.
Architektura
Proces NestJS przechowuje tajny klucz. Klienci proszą kontroler NestJS o utworzenie PaymentIntent. Stripe powiadamia NestJS za pomocą webhooka. NestJS weryfikuje podpis na rawBody, a następnie zapisuje stan zamówienia.
Obsługiwane technologie
Bieżący NestJS na Node LTS, który akceptuje Stripe SDK. Domyślny adapter HTTP to Express. Fastify jest uwzględniane tylko wtedy, gdy aplikacja NestJS już się uruchamia i potwierdzamy to podczas sprawdzania zgodności.
PaymentIntents, sesje realizacji transakcji i webhooks.constructEvent. Nie tworzymy nieoficjalnego opakowania w paski typu „nestjs” dla produktu, chyba że wyraźnie tego potrzebujesz.
Aktualizacje zamówień lub uprawnień pozostają w Prisma, TypeORM, MikroORM lub repozytorium, które już posiadasz. Ten dodatek nie tworzy nowej bazy danych.
Twoje konto Stripe, klucze testowe i aktywne używane przez NestJS, punkt końcowy webhooka i zdarzenia Dashboard. Opłaty za przetwarzanie Stripe pozostają w Stripe.
Host, na którym można uruchomić Node i odbierać wiadomości HTTPS POST od Stripe. Witryna statyczna lub eksport tylko do pliku Next.js nie mogą obsługiwać tej ścieżki webhooka NestJS.
Co jest w cenie
Pricing
Ta cena dotyczy wyłącznie platformy NestJS. Nie korzysta z cen dodatków Next.js, Django, FastAPI, React ani Flutter.
Integracja Stripe dla NestJS
Dodaj gotowe do produkcji rozwiązania Stripe PaymentIntents i podpisane webhooki do istniejącego interfejsu API NestJS i zachowaj kod źródłowy.
Wymagania
$175
jednorazowoNestJS
Potrzebujesz frontendu?
Bezpieczna płatność przezstripe
Dostawa i bezpieczeństwo
Typowa integracja NestJS Stripe jest ustalana po sprawdzeniu zgodności NestJS. Oś czasu zależy od adaptera HTTP, strażników autoryzacji i sposobu, w jaki klienci wywołują NestJS.
Intenty płatności w trybie testowym, podpisy webhook, ponowne próby i ścieżki odrzuceń są sprawdzane w aplikacji NestJS przed jej przekazaniem.
Tajne klucze i sekrety podpisywania webhooków pozostają w środowisku serwera. Klienci otrzymują tylko klucz do publikacji lub krótkotrwały sekret_klienta.
Kontroler webhooka NestJS weryfikuje podpisy Stripe w nieprzetworzonej treści przed aktualizacją zamówienia lub stanu uprawnienia.
Nie żądamy certyfikatu PCI, zerowego oszustwa ani gwarantowanych wskaźników akceptacji. NestJS nie przechowuje PAN. Dane karty są gromadzone przez Stripe Checkout lub Elements na kliencie, a nie w przypadku niestandardowej karty DTO NestJS, którą utrzymujemy.
FAQ
Integracja Stripe dla NestJS obejmuje oficjalny pakiet SDK Stripe Node, moduł NestJS Payments, usługę create-PaymentIntent, kontroler webhook wywołującystructEvent na surowym ciele, aktualizacje stanu zamówień w istniejącym sklepie, testy pod kątem zdarzeń testowych Stripe i notatki dotyczące przekazania. W swoim projekcie otrzymujesz źródło NestJS. Opłaty Stripe i Twoje konto Stripe są odrębne.
Tak. Integracja Stripe dla NestJS jest zbudowana dla API NestJS, które już posiadasz. Dopasowujemy moduł, kontroler i środowisko ConfigService do Twojej bieżącej aplikacji NestJS, zamiast dostarczać oddzielne repozytorium demonstracyjne jako element dostarczany.
Nie. NestJS nie może przechowywać PAN. Klienci korzystają z Stripe Checkout lub Elements. Integracja Stripe dla NestJS posiada po stronie serwera PaymentIntents, webhooki i zapisy zamówień. Niestandardowy DTO NestJS, który publikuje nieprzetworzone dane karty, jest poza zakresem domyślnym.
Integracja Stripe dla NestJS korzysta z oficjalnej biblioteki Stripe Node dla PaymentIntents, Checkout Sessions i webhooks.constructEvent. Nie tworzymy nieoficjalnego opakowania w paski typu „nestjs” dla produktu, chyba że wyraźnie tego potrzebujesz.
stripe.webhooks.constructEvent sprawdza dokładnie liczbę podpisanych bajtów Stripe. Domyślny parser JSON Nest mutuje tę treść. Integracja Stripe dla NestJS umożliwia użycie rawBody (lub parsera surowego Fastify) na trasie webhooka. Użycie @Body() powoduje niepowodzenie kontroli podpisów NestJS w środowisku produkcyjnym.
Domyślna integracja Stripe dla NestJS zakłada, że adapter Express jest dostarczany z Nest. Fastify jest uwzględniane tylko wtedy, gdy Twoja aplikacja NestJS została już uruchomiona za pomocą FastifyAdapter i uzgodniliśmy ścieżkę nieprzetworzonej treści podczas sprawdzania zgodności NestJS.
NestJS może utworzyć sesję PaymentIntent lub Checkout i przechowywać identyfikator klienta Stripe. Produkty rozliczeniowe Stripe Billing, portal klienta i logika faktur pozostają na serwerze. Praca NestJS wymagająca dużej liczby subskrypcji może wymagać niestandardowej wyceny.
Proces NestJS wykorzystuje tajny klucz i sekret podpisywania webhooka z ConfigService/zmiennych środowiskowych. Klienci otrzymują tylko klucz do publikacji. Integracja Stripe dla NestJS nie umieszcza tajnych kluczy w DTO ani w pakiecie frontendowym.
Wdrażamy integrację Stripe dla NestJS z kluczami testowymi Stripe i najpierw testujemy zdarzenia webhook. Uruchomienie to udokumentowane przeniesienie klucza i punktu końcowego w Twoim Stripe Dashboard i środowisku NestJS, a nie aktywacja licencji dodatkowej.
NestJS tworzy PaymentIntents obsługujące SCA. Klient uzupełnia 3-D Secure za pomocą Stripe.js lub Checkout. NestJS spełnia swoją funkcję dopiero po Payment_intent.succeeded na webhooku, a nie po samym przekierowaniu przeglądarki.
Tak, w przypadku realizacji po utworzonej przez NestJS sesji PaymentIntent lub realizacji transakcji. Odpowiedź NestJS 201 udzielona klientowi nie jest źródłem prawdy. Kontroler webhooka weryfikuje podpisy, a następnie zaznacza opłacone zamówienie.
Tak. Integracja Stripe dla NestJS zazwyczaj dodaje pola lub cienki rekord płatności obok istniejącego modelu zamówienia NestJS, zamiast zastępować Prisma, TypeORM lub MikroORM.
Nie. Tworzysz i jesteś właścicielem konta Stripe, kluczy API i opłat za przetwarzanie Stripe. Ceną dodatku NestJS jest wdrożenie do Twojego projektu NestJS, a nie licencja płatnicza Bacodo.
Nie. NestJS to samodzielny interfejs API węzła. Router aplikacji Next.js i moduły obsługi tras umożliwiają integrację Stripe z Next.js. W ramach tej ceny dodatku NestJS nie przepisujemy interfejsu API NestJS na Next.js.
Tak. Metadane PaymentIntent lub Checkout Session, rekordy klientów i pola, które utrzymujesz po potwierdzeniu webhooka, są dopasowane do istniejącego modelu zamówienia NestJS podczas integracji Stripe dla NestJS.
Źródło NestJS znajduje się w Twoim repozytorium, więc Twój zespół może nim zarządzać. Dołączone 30-dniowe wsparcie obejmuje pytania techniczne i defekty w dostarczonej integracji Stripe dla zakresu NestJS, a nie niepowiązane prace związane z funkcjami NestJS.
W ciągu 30 dni pomagamy w przypadku awarii w dostarczonej integracji NestJS spowodowanej udokumentowaną zmianą API Stripe lub zmianą pakietu Stripe. Późniejsze aktualizacje NestJS obejmują konserwację lub rozszerzoną pomoc techniczną, jeśli ją kupisz.
Dokumentujemy sposób odczytywania statusu PaymentIntent, dzienników Stripe Dashboard i dostarczania webhooka NestJS. 30-dniowe wsparcie obejmuje rozwiązywanie problemów z błędami podpisów (zwykle rawBody), ponownymi próbami i błędnie skonfigurowanymi kluczami dla dostarczonego przepływu NestJS.
Potwierdzamy wersje NestJS i Node LTS względem wersji paskowej, którą przypinamy w czasie integracji. Starsze lub mocno rozwidlone środowiska wykonawcze NestJS mogą wymagać dodatkowego zakresu.
Dostarczona ścieżka NestJS Stripe obejmuje 30 dni od przekazania. Rozszerzone wsparcie techniczne jest opcjonalne w cenie 20% ceny dodatku NestJS i obejmuje dodatkowe sześć miesięcy pomocy technicznej dotyczącej tej samej integracji NestJS, a nie nowej wersji produktu.
Dodaj gotowe do produkcji płatności Stripe do istniejącego API NestJS, zachowaj kod źródłowy i pozwól serwerowi na własną realizację.
$175