- Proyecto NestJS existente
- Acceso a Stripe Test Mode
- Se requiere frontend para la interfaz de pago
No hace falta acceso al repositorio. Solo se necesita acceso al proyecto si quiere que Bacodo lo integre directamente.
Complemento NestJS
Agregue el SDK oficial de Stripe Node, un módulo de pagos y un controlador de webhook que verifica Stripe-Signature en el cuerpo sin formato. NestJS es la API: no monta el elemento de pago y no son los controladores de ruta Next.js.
Desde
$175
USD · NestJS
Integración de Stripe para NestJS · NestJS
Requirements
No hace falta acceso al repositorio. Solo se necesita acceso al proyecto si quiere que Bacodo lo integre directamente.
Qué hace
Bacodo integra Stripe en el proyecto NestJS que ya tienes. Después de la entrega, el módulo, el servicio y el controlador se encuentran en su repositorio. Aún eres propietario de la cuenta Stripe, las claves API y las tarifas de Stripe. NestJS nunca almacena PAN.
Una ruta de producción de NestJS Stripe necesita el SDK de stripe oficial, la creación de PaymentIntent en un proveedor y constructEvent en el búfer de solicitud no modificado. El analizador JSON predeterminado de Nest interrumpe la verificación de firma si @Body() el webhook. Esto es un error real, no un eslogan.
Agregamos un módulo NestJS (ConfigService para STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET), un servicio que crea PaymentIntents y un controlador de webhook que lee rawBody. Las escrituras de pedidos pasan por el repositorio u ORM que ya usa (Prisma, TypeORM o MikroORM), no por una tienda exclusiva de Bacodo.
Su equipo se salta la primera implementación de producción de NestJS Stripe: rawBody en Express o Fastify, manejo de eventos idempotentes, PaymentIntents compatibles con SCA y una transferencia que documenta las claves de prueba a vida.
Ingenieros de backend y agencias que ya ejecutan NestJS y necesitan una API de pago que se pueda mantener. Si deseara Next.js App Router o React SPA, esos son diferentes aterrizajes de Stripe.
Funciones clave
Cree PaymentIntents con el paquete stripe Node dentro de un servicio NestJS. La clave secreta proviene de ConfigService/env, nunca de un DTO que publica el cliente y nunca de un paquete de interfaz.
stripe.webhooks.constructEvent necesita los bytes exactos firmados por Stripe. Habilitamos Nest rawBody (o un analizador sin formato Fastify) en esa ruta. Analizar JSON primero es la forma en que las integraciones de NestJS Stripe fallan en producción.
El cumplimiento se ejecuta en el controlador NestJS después de que constructEvent tenga éxito, no después de una página de agradecimiento. Actualizamos su pedido existente o registro de derechos para que la API que ya expone refleje el estado de pago.
Primero envíe NestJS con las claves de prueba de Stripe y el secreto del webhook. La puesta en marcha es una transición documentada del entorno y del punto final del panel, no una licencia complementaria.
Reintentos de raya. El controlador NestJS desactiva event.id (o PaymentIntent id) para que una POST duplicada no se cumpla dos veces.
Una aplicación React, Next.js o móvil solo recibe una clave publicable y un client_secret de corta duración de esta API de NestJS. Este complemento es la ruta del servidor NestJS, no elementos dentro de Nest.
Casos de uso
Ya crea pedidos en NestJS y necesita la API para crear PaymentIntents y marcar esos pedidos pagados desde webhooks.
Necesita un módulo Stripe que se pueda mantener en NestJS, una fuente en el repositorio del cliente y una transferencia de clave en vivo documentada en lugar de un script Express único incluido en main.ts.
NestJS crea el primer PaymentIntent o adjunta un método de pago. La facturación recurrente de Stripe y el portal del cliente permanecen en el servidor. Los trabajos de facturación pesados pueden necesitar una cotización personalizada.
Next.js, React o mobile ya llaman a esta API NestJS. La integración de Stripe para NestJS es solo del lado API; la interfaz Stripe.js es una plataforma diferente si también la necesita.
Demo
Obtenga una vista previa de la ruta del servidor NestJS: cree PaymentIntent, reciba POST /webhooks/stripe, constructEvent en rawBody, actualice el estado del pedido. Una zona de pruebas en vivo para su cuenta de Stripe está disponible después de la verificación de compatibilidad. Esta página no procesa cargos reales y no recopila tarjetas en NestJS.
Cómo funciona
Flujo de trabajo del complemento estándar de Bacodo, con comprobaciones específicas de NestJS para Express vs Fastify, rawBody, ConfigModule y el ORM que sus servicios ya utilizan.
01
Confirme la integración de Stripe para NestJS y si el primer día es PaymentIntents, Checkout Sessions o ambos en la API de NestJS.
02
Revise las versiones de NestJS/Node, el adaptador HTTP (Express predeterminado o Fastify), la persistencia de pedidos existentes, los protectores de autenticación y si ya tiene una cuenta de Stripe.
03
Agregue el paquete stripe, un módulo de pagos, un punto final de intención de creación y un controlador de webhook que verifique las firmas en el cuerpo sin formato.
04
Wire ConfigService desde env: clave secreta, clave publicable para clientes, secreto de webhook y la URL HTTPS pública que llamará Stripe.
05
Ejecute eventos de prueba de Stripe CLI o Dashboard contra el webhook NestJS, además de rutas de creación de intención y rechazo. Confirme que un cuerpo JSON analizado falla en la firma como se esperaba.
06
Entregue la fuente NestJS, notas ambientales y una lista de verificación de claves en vivo. La implementación de NestJS es tuya para mantenerla.
Arquitectura
El proceso NestJS contiene la clave secreta. Los clientes solicitan a un controlador NestJS que cree un PaymentIntent. Stripe notifica a NestJS mediante webhook. NestJS verifica la firma en rawBody y luego escribe el estado del pedido.
Tecnologías compatibles
NestJS actual en un Node LTS que acepta el SDK de banda. El adaptador HTTP predeterminado es Express. Fastify se incluye solo si así es como arranca la aplicación NestJS y lo aceptamos en la verificación de compatibilidad.
PaymentIntents, sesiones de pago y webhooks.constructEvent. No creamos un contenedor nestjs-stripe no oficial para el producto a menos que usted lo solicite explícitamente.
Las actualizaciones de pedidos o derechos permanecen en Prisma, TypeORM, MikroORM o el repositorio que ya tiene. Este complemento no inventa una nueva base de datos.
Su cuenta de Stripe, claves de prueba y en vivo utilizadas por NestJS, punto final de webhook y eventos del Panel. Las tarifas de procesamiento de Stripe permanecen en Stripe.
Un host que puede ejecutar Node y recibir POST HTTPS de Stripe. Un sitio solo estático o una exportación solo de Next.js no pueden alojar esta ruta de webhook NestJS.
Qué incluye
Pricing
Este precio es sólo para la plataforma NestJS. No utiliza precios de complementos de Next.js, Django, FastAPI, React o Flutter.
Integración de Stripe para NestJS
Agregue Stripe PaymentIntents listos para producción y webhooks firmados a una API NestJS existente y conserve el código fuente.
Requisitos
$175
pago únicoNestJS
¿Necesita un frontend?
Pago seguro constripe
Entrega y seguridad
La integración típica de NestJS Stripe tiene su alcance después de la verificación de compatibilidad de NestJS. La línea de tiempo depende de su adaptador HTTP, guardias de autenticación y cómo los clientes llaman a NestJS.
Las intenciones de pago en modo de prueba, las firmas de webhooks, los reintentos y las rutas de rechazo se ejercen contra la aplicación NestJS antes de realizar la entrega.
Las claves secretas y los secretos de firma de webhooks permanecen en el entorno del servidor. Los clientes solo reciben una clave publicable o un client_secret de corta duración.
El controlador del webhook NestJS verifica las firmas de Stripe en el cuerpo sin formato antes de actualizar el pedido o el estado de los derechos.
No reclamamos certificación PCI, cero fraude ni tasas de aprobación garantizadas. NestJS no almacena PAN. Los datos de la tarjeta los recopila Stripe Checkout o Elements en un cliente, no un DTO de tarjeta NestJS personalizado que persistimos.
FAQ
La integración de Stripe para NestJS incluye el SDK oficial de Node de stripe, un módulo de pagos de NestJS, un servicio create-PaymentIntent, un controlador de webhook que llama a constructEvent en el cuerpo sin procesar, actualizaciones del estado de los pedidos en su tienda existente, pruebas contra eventos de prueba de Stripe y notas de entrega. Recibirás la fuente NestJS en tu proyecto. Las tarifas de Stripe y su cuenta Stripe son independientes.
Sí. La integración de Stripe para NestJS está diseñada para una API de NestJS que ya tienes. Instalamos un módulo, un controlador y un entorno ConfigService en su aplicación NestJS actual en lugar de enviar un repositorio de demostración por separado como entregable.
No. NestJS no debe almacenar PAN. Los clientes utilizan Stripe Checkout o Elements. Stripe Integration para NestJS posee PaymentIntents, webhooks y escrituras de pedidos del lado del servidor. Un DTO NestJS personalizado que publica datos de tarjetas sin procesar está fuera del alcance predeterminado.
Stripe Integration para NestJS utiliza la biblioteca oficial de Stripe Node para PaymentIntents, Checkout Sessions y webhooks.constructEvent. No creamos un contenedor nestjs-stripe no oficial para el producto a menos que usted lo solicite explícitamente.
stripe.webhooks.constructEvent verifica los bytes exactos que Stripe firmó. El analizador JSON predeterminado de Nest muta ese cuerpo. Stripe Integration para NestJS habilita rawBody (o un analizador sin formato Fastify) en la ruta del webhook. Al usar @Body(), las comprobaciones de firmas de NestJS fallan en producción.
La integración predeterminada de Stripe para NestJS supone que el adaptador Express con el que se envía Nest. Fastify se incluye solo si su aplicación NestJS ya arranca con FastifyAdapter y aceptamos la ruta del cuerpo sin formato durante la verificación de compatibilidad de NestJS.
NestJS puede crear una intención de pago o una sesión de pago y almacenar la identificación del cliente de Stripe. Los productos recurrentes de Stripe Billing, el portal del cliente y la lógica de facturación permanecen en el servidor. Es posible que el trabajo de NestJS con muchas suscripciones necesite una cotización personalizada.
El proceso NestJS utiliza la clave secreta y el secreto de firma del webhook de las variables de entorno/ConfigService. Los clientes solo reciben la clave publicable. Stripe Integration para NestJS no coloca claves secretas en DTO ni en un paquete de interfaz.
Implementamos Stripe Integration para NestJS contra las claves de prueba de Stripe y probamos primero los eventos de webhook. La puesta en marcha es una transferencia documentada de clave y punto final en su Stripe Dashboard y en el entorno NestJS, no una activación de licencia complementaria.
NestJS crea PaymentIntents que admiten SCA. El cliente completa 3-D Secure con Stripe.js o Checkout. NestJS solo se cumple después de que Payment_intent.succeeded en el webhook, no solo después de una redirección del navegador.
Sí, para el cumplimiento después de una sesión de pago o intención de pago creada por NestJS. Una respuesta NestJS 201 al cliente no es la fuente de la verdad. El controlador del webhook verifica las firmas y luego marca el pedido pagado.
Sí. La integración de Stripe para NestJS generalmente agrega campos o un registro de pago delgado junto a su modelo de pedido NestJS existente en lugar de reemplazar Prisma, TypeORM o MikroORM.
No. Usted crea y es propietario de la cuenta Stripe, las claves API y las tarifas de procesamiento de Stripe. El precio del complemento NestJS es la implementación en su proyecto NestJS, no una licencia de pago de Bacodo.
No. NestJS es una API de nodo independiente. Next.js App Router y Route Handlers son integración de Stripe para Next.js. No reescribimos una API de NestJS en Next.js dentro de este precio adicional de NestJS.
Sí. Los metadatos de PaymentIntent o Checkout Session, los registros de clientes y los campos que conserva después de la confirmación del webhook se alinean con su modelo de pedido NestJS existente durante la integración de Stripe para NestJS.
La fuente de NestJS está en su repositorio, por lo que su equipo puede mantenerla. El soporte incluido de 30 días cubre preguntas técnicas y defectos en el alcance de la integración de Stripe para NestJS, no el trabajo de funciones de NestJS no relacionadas.
Durante el período de 30 días, ayudamos con las roturas en la integración NestJS entregada causadas por una API de Stripe documentada o un cambio de paquete de Stripe. Las actualizaciones continuas de NestJS posteriores son su mantenimiento o soporte técnico extendido si lo compra.
Documentamos cómo leer el estado de PaymentIntent, los registros del Stripe Dashboard y la entrega del webhook NestJS. El soporte de 30 días incluye la resolución de problemas de fallas de firma (generalmente rawBody), reintentos y claves mal configuradas para el flujo NestJS entregado.
Confirmamos sus versiones de NestJS y Node LTS con la versión de banda que fijamos en el momento de la integración. Es posible que los tiempos de ejecución de NestJS más antiguos o muy bifurcados necesiten un alcance adicional.
Se incluyen 30 días después de la entrega para la ruta NestJS Stripe entregada. El soporte técnico extendido es opcional al 20% del precio de este complemento de NestJS y cubre seis meses más de ayuda técnica en la misma integración de NestJS, no en la creación de un nuevo producto.
Agregue pagos Stripe listos para producción a su API NestJS existente, conserve el código fuente y deje que el servidor se encargue de su cumplimiento.
$175