- Projet NestJS existant
- Accès Stripe Test Mode
- Un frontend est requis pour l’interface de paiement
Aucun accès au dépôt n’est requis. L’accès au projet n’est nécessaire que si vous voulez que Bacodo l’intègre directement.
Module complémentaire NestJS
Ajoutez le SDK officiel Stripe Node, un module de paiement et un contrôleur webhook qui vérifie Stripe-Signature sur le corps brut. NestJS est l'API - elle ne monte pas l'élément de paiement et ce ne sont pas les gestionnaires de route Next.js.
À partir de
$175
USD · NestJS
Intégration Stripe pour NestJS · NestJS
Requirements
Aucun accès au dépôt n’est requis. L’accès au projet n’est nécessaire que si vous voulez que Bacodo l’intègre directement.
Ce que ça fait
Bacodo intègre Stripe dans le projet NestJS que vous possédez déjà. Après le transfert, le module, le service et le contrôleur vivent dans votre dépôt. Vous possédez toujours le compte Stripe, les clés API et les frais Stripe. NestJS ne stocke jamais PAN.
Un chemin de production NestJS Stripe nécessite le SDK Stripe officiel, la création de PaymentIntent chez un fournisseur et constructEvent sur le tampon de requête non modifié. L'analyseur JSON par défaut de Nest interrompt la vérification de la signature si vous @Body() le webhook. C'est un vrai bug, pas un slogan.
Nous ajoutons un module NestJS (ConfigService pour STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET), un service qui crée PaymentIntents et un contrôleur webhook qui lit rawBody. Les écritures de commandes passent par le référentiel ou l'ORM que vous utilisez déjà – Prisma, TypeORM ou MikroORM – et non par un magasin réservé à Bacodo.
Votre équipe ignore la première implémentation de NestJS Stripe en production : rawBody sur Express ou Fastify, gestion des événements idempotents, PaymentIntents compatibles SCA et un transfert qui documente les clés de test à live.
Ingénieurs back-end et agences qui exécutent déjà NestJS et ont besoin d'une API de paiement maintenable. Si vous vouliez un routeur d'application Next.js ou un React SPA, ce sont des atterrissages Stripe différents.
Fonctions clés
Créez des PaymentIntents avec le package Stripe Node dans un service NestJS. La clé secrète provient de ConfigService / env – jamais d'un DTO publié par le client, et jamais d'un bundle frontend.
stripe.webhooks.constructEvent a besoin des octets exacts signés par Stripe. Nous activons Nest rawBody (ou un analyseur brut Fastify) sur cette route. L'analyse de JSON explique d'abord comment les intégrations NestJS Stripe échouent en production.
L'exécution s'exécute dans le gestionnaire NestJS après la réussite de constructEvent, et non après une page de remerciement. Nous mettons à jour votre enregistrement de commande ou de droit existant afin que l'API que vous exposez déjà reflète l'état payé.
Expédiez d'abord NestJS avec les clés de test Stripe et le secret du webhook. La mise en ligne est un basculement documenté du point de terminaison de l'environnement et du tableau de bord, et non une licence complémentaire.
Nouvelles tentatives de Stripe. Le gestionnaire NestJS désactive event.id (ou PaymentIntent id) afin qu'un POST en double ne soit pas rempli deux fois.
Une application React, Next.js ou mobile ne reçoit qu'une clé publiable et un client_secret de courte durée de cette API NestJS. Ce module complémentaire est le chemin du serveur NestJS, et non les éléments à l'intérieur de Nest.
Cas d’usage
Vous créez déjà des commandes dans NestJS et avez besoin de l'API pour créer des PaymentIntents et marquer ces commandes payées à partir de webhooks.
Vous avez besoin d'un module Stripe maintenable dans NestJS, d'une source dans le dépôt client et d'un basculement de clé en direct documenté au lieu d'un script Express unique déposé dans main.ts.
NestJS crée le premier PaymentIntent ou attache un mode de paiement. La facturation récurrente Stripe et le portail client restent sur le serveur. Les travaux de facturation lourds peuvent nécessiter un devis personnalisé.
Next.js, React ou mobile appelle déjà cette API NestJS. L'intégration Stripe pour NestJS concerne uniquement le côté API - le frontend Stripe.js est une plate-forme d'atterrissage différente si vous en avez également besoin.
Démo
Prévisualisez le chemin du serveur NestJS : créez PaymentIntent, recevez POST /webhooks/stripe, constructEvent sur rawBody, mettez à jour l'état de la commande. Un bac à sable en direct pour votre compte Stripe est disponible après vérification de compatibilité. Cette page ne traite pas les frais réels et ne collecte pas de cartes dans NestJS.
Comment ça marche
Workflow complémentaire Bacodo standard, avec des vérifications spécifiques à NestJS pour Express vs Fastify, rawBody, ConfigModule et l'ORM que vos services utilisent déjà.
01
Confirmez l'intégration de Stripe pour NestJS et si le premier jour concerne les intentions de paiement, les sessions de paiement ou les deux sur l'API NestJS.
02
Vérifiez les versions NestJS/Node, l'adaptateur HTTP (Express par défaut ou Fastify), la persistance des commandes existantes, les gardes d'authentification et si vous possédez déjà un compte Stripe.
03
Ajoutez le package Stripe, un module Payments, un point de terminaison de création d'intention et un contrôleur de webhook qui vérifie les signatures sur le corps brut.
04
Wire ConfigService depuis l'environnement : clé secrète, clé publiable pour les clients, secret du webhook et l'URL HTTPS publique que Stripe appellera.
05
Exécutez des événements de test Stripe CLI ou Dashboard sur le webhook NestJS, ainsi que des chemins de création et de refus. Confirmez qu'un corps JSON analysé échoue à la signature comme prévu.
06
Fournissez la source NestJS, les notes d'environnement et une liste de contrôle des clés en direct. L'implémentation NestJS vous appartient.
Architecture
Le processus NestJS détient la clé secrète. Les clients demandent à un contrôleur NestJS de créer un PaymentIntent. Stripe informe NestJS par webhook. NestJS vérifie la signature sur rawBody, puis écrit l'état de la commande.
Technologies prises en charge
NestJS actuel sur un nœud LTS accepté par le SDK Stripe. L'adaptateur HTTP par défaut est Express. Fastify n'est inclus que si c'est déjà ainsi que l'application NestJS démarre et que nous l'acceptons lors de la vérification de compatibilité.
PaymentIntents, sessions de paiement et webhooks.constructEvent. Nous ne créons pas d'emballage nestjs-stripe non officiel pour le produit, sauf si vous en avez explicitement besoin.
Les mises à jour des commandes ou des droits restent sur Prisma, TypeORM, MikroORM ou sur le référentiel que vous possédez déjà. Ce module complémentaire n'invente pas une nouvelle base de données.
Votre compte Stripe, vos clés de test et en direct utilisées par NestJS, le point de terminaison du webhook et les événements du tableau de bord. Les frais de traitement Stripe restent à la charge de Stripe.
Un hôte qui peut exécuter Node et recevoir des POST HTTPS de Stripe. Un site statique uniquement ou une exportation Next.js uniquement ne peut pas héberger ce chemin de webhook NestJS.
Ce qui est inclus
Pricing
Ce prix concerne uniquement la plateforme NestJS. Il n'utilise pas la tarification des modules complémentaires Next.js, Django, FastAPI, React ou Flutter.
Intégration Stripe pour NestJS
Ajoutez des Stripe PaymentIntents prêts pour la production et des webhooks signés à une API NestJS existante et conservez le code source.
Prérequis
$175
paiement uniqueNestJS
Besoin d’un frontend ?
Paiement sécurisé viastripe
Livraison et sécurité
L'intégration typique de NestJS Stripe est définie après la vérification de la compatibilité NestJS. La chronologie dépend de votre adaptateur HTTP, des gardes d'authentification et de la manière dont les clients appellent NestJS.
Les PaymentIntents en mode test, les signatures de webhook, les tentatives et les chemins de refus sont appliqués à l'application NestJS avant la remise.
Les clés secrètes et les secrets de signature des webhooks restent dans l'environnement du serveur. Les clients ne reçoivent qu'une clé publiable ou un client_secret de courte durée.
Le contrôleur de webhook NestJS vérifie les signatures Stripe sur le corps brut avant de mettre à jour la commande ou l'état des droits.
Nous ne revendiquons pas la certification PCI, l’absence de fraude ou les taux d’approbation garantis. NestJS ne stocke pas le PAN. Les données de carte sont collectées par Stripe Checkout ou Elements sur un client, et non par un DTO de carte NestJS personnalisé que nous persistons.
FAQ
L'intégration Stripe pour NestJS comprend le SDK officiel Stripe Node, un module de paiement NestJS, un service create-PaymentIntent, un contrôleur webhook qui appelle constructEvent sur le corps brut, des mises à jour de l'état des commandes sur votre boutique existante, des tests par rapport aux événements de test Stripe et des notes de transfert. Vous recevez la source NestJS dans votre projet. Les frais Stripe et votre compte Stripe sont distincts.
Oui. Stripe Integration for NestJS est conçu pour une API NestJS que vous possédez déjà. Nous intégrons un module, un contrôleur et un environnement ConfigService dans votre application NestJS actuelle au lieu d'envoyer un dépôt de démonstration distinct comme livrable.
Non. NestJS ne doit pas stocker de PAN. Les clients utilisent Stripe Checkout ou Elements. Stripe Integration for NestJS possède des PaymentIntents, des webhooks et des écritures de commandes côté serveur. Un DTO NestJS personnalisé qui publie des données brutes de carte n'entre pas dans la portée par défaut.
Stripe Integration pour NestJS utilise la bibliothèque officielle Stripe Node pour PaymentIntents, Checkout Sessions et webhooks.constructEvent. Nous ne créons pas d'emballage nestjs-stripe non officiel pour le produit, sauf si vous en avez explicitement besoin.
stripe.webhooks.constructEvent vérifie les octets exacts signés par Stripe. L'analyseur JSON par défaut de Nest mute ce corps. Stripe Integration for NestJS active rawBody (ou un analyseur brut Fastify) sur la route du webhook. En utilisant @Body(), vous découvrirez comment les vérifications de signature NestJS échouent en production.
L'intégration Stripe par défaut pour NestJS suppose que l'adaptateur Express fourni par Nest. Fastify n'est inclus que si votre application NestJS démarre déjà avec FastifyAdapter et que nous acceptons le chemin du corps brut lors de la vérification de compatibilité NestJS.
NestJS peut créer une session PaymentIntent ou Checkout et stocker l'identifiant client Stripe. Les produits de facturation Stripe récurrents, le portail client et la logique de facturation restent sur le serveur. Les travaux NestJS nécessitant beaucoup d'abonnement peuvent nécessiter un devis personnalisé.
Le processus NestJS utilise la clé secrète et le secret de signature du webhook à partir des variables ConfigService/environnement. Les clients reçoivent uniquement la clé publiable. Stripe Integration for NestJS ne place pas de clés secrètes dans les DTO ou dans un bundle frontend.
Nous implémentons l'intégration Stripe pour NestJS sur les clés de test Stripe et testons d'abord les événements de webhook. La mise en ligne est une transition documentée de clé et de point de terminaison dans votre tableau de bord Stripe et votre environnement NestJS, et non une activation de licence complémentaire.
NestJS crée des PaymentIntents qui prennent en charge SCA. Le client complète 3-D Secure avec Stripe.js ou Checkout. NestJS ne se réalise qu'après payment_intent.succeeded sur le webhook, et non après une seule redirection du navigateur.
Oui pour l'exécution après une session de paiement ou de paiement créée par NestJS. Une réponse NestJS 201 au client n'est pas la source de vérité. Le contrôleur du webhook vérifie les signatures puis marque la commande payée.
Oui. L'intégration Stripe pour NestJS ajoute généralement des champs ou un enregistrement de paiement léger à côté de votre modèle de commande NestJS existant au lieu de remplacer Prisma, TypeORM ou MikroORM.
Non. Vous créez et possédez le compte Stripe, les clés API et les frais de traitement Stripe. Le prix du module complémentaire NestJS est une implémentation dans votre projet NestJS, et non une licence de paiement Bacodo.
Non. NestJS est une API Node autonome. Le routeur d'application Next.js et les gestionnaires de route sont une intégration Stripe pour Next.js. Nous ne réécrivons pas une API NestJS dans Next.js dans le cadre de ce prix complémentaire NestJS.
Oui. Les métadonnées de l'intention de paiement ou de la session de paiement, les enregistrements client et les champs que vous conservez après la confirmation du webhook sont alignés sur votre modèle de commande NestJS existant lors de l'intégration de Stripe pour NestJS.
La source NestJS se trouve dans votre dépôt, afin que votre équipe puisse la maintenir. L'assistance incluse de 30 jours couvre les questions techniques et les défauts dans la portée de l'intégration Stripe pour NestJS fournie, et non les travaux sur les fonctionnalités NestJS sans rapport.
Pendant la période de 30 jours, nous aidons en cas de rupture de l'intégration NestJS livrée causée par une API Stripe documentée ou une modification du package Stripe. Les mises à niveau NestJS en cours constituent ensuite votre maintenance ou votre support technique étendu si vous l'achetez.
Nous documentons comment lire l'état de PaymentIntent, les journaux du tableau de bord Stripe et la livraison du webhook NestJS. L'assistance de 30 jours comprend le dépannage des échecs de signature (généralement rawBody), des tentatives et des clés mal configurées pour le flux NestJS fourni.
Nous confirmons vos versions NestJS et Node LTS par rapport à la version Stripe que nous épinglons au moment de l'intégration. Les environnements d'exécution NestJS plus anciens ou fortement fourchus peuvent nécessiter une portée supplémentaire.
30 jours après le transfert sont inclus pour le chemin NestJS Stripe livré. Le support technique étendu est facultatif à 20 % du prix de ce module complémentaire NestJS et couvre six mois supplémentaires d'aide technique sur cette même intégration NestJS, et non sur une nouvelle version de produit.
Ajoutez des paiements Stripe prêts pour la production à votre API NestJS existante, conservez le code source et laissez le serveur s'en charger.
$175