BacodoBACODO

Add-on NestJS

Tích hợp Stripe cho NestJS

Thêm stripe Node SDK chính thức, module Payments, và controller webhook verify Stripe-Signature trên raw body. NestJS là API — không mount Payment Element và không phải Next.js Route Handlers.

  • Full source code — thuộc về bạn vĩnh viễn
  • Không cần license key hay phí license định kỳ
  • Sẵn sàng production và đã kiểm thử
  • Tích hợp vào dự án NestJS và stack hiện có
  • Hỗ trợ kỹ thuật 30 ngày sau bàn giao
  • Hỗ trợ kỹ thuật mở rộng 6 tháng tùy chọn: 20% giá add-on

From

$175

USD · NestJS

Xem demo

Tích hợp Stripe cho NestJS · NestJS

Full source codeKhông license keySẵn sàng productionĐã kiểm thửHỗ trợ 30 ngày

Yêu cầu

Tích hợp Stripe cho NestJS cần những gì

  • Project NestJS hiện có
  • Quyền Stripe Test Mode
  • Cần frontend cho giao diện thanh toán

Không cần cấp quyền repository. Chỉ cần cấp quyền project nếu bạn muốn Bacodo tích hợp trực tiếp.

What it does

Stripe trên API NestJS — controller không phải form thẻ

Bacodo tích hợp Stripe vào dự án NestJS bạn đã có. Sau bàn giao, module, service và controller nằm trong repo của bạn. Bạn vẫn sở hữu tài khoản Stripe, API key và phí Stripe. NestJS không bao giờ lưu PAN.

Vấn đề giải quyết

Đường Stripe NestJS production cần stripe SDK chính thức, tạo PaymentIntent trong provider, và constructEvent trên buffer request chưa sửa. JSON parser mặc định của Nest phá chữ ký nếu bạn @Body() webhook. Đó là bug thật, không phải slogan.

Cách gắn vào dự án

Chúng tôi thêm module NestJS (ConfigService cho STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET), service tạo PaymentIntent, và controller webhook đọc rawBody. Ghi đơn đi qua repository hoặc ORM bạn đang dùng — Prisma, TypeORM hoặc MikroORM — không phải store chỉ của Bacodo.

Vì sao tiết kiệm thời gian

Team bỏ qua lần triển khai Stripe NestJS production đầu tiên: rawBody trên Express hoặc Fastify, xử lý event idempotent, PaymentIntent hỗ trợ SCA, và bàn giao cắt test sang live.

Dành cho ai

Backend engineer và agency đã chạy NestJS, cần API thanh toán dễ bảo trì. Nếu bạn muốn Next.js App Router hoặc SPA React, đó là landing Stripe khác.

Key features

What Tích hợp Stripe cho NestJS includes

stripe SDK chính thức trong provider NestJS

Tạo PaymentIntent bằng package stripe Node trong service NestJS. Secret key lấy từ ConfigService / env — không bao giờ từ DTO client post, không bao giờ từ bundle frontend.

Controller webhook dùng rawBody, không @Body()

stripe.webhooks.constructEvent cần đúng bytes Stripe đã ký. Chúng tôi bật Nest rawBody (hoặc raw parser Fastify) trên route đó. Parse JSON trước là cách tích hợp Stripe NestJS fail trên production.

Trạng thái đơn NestJS sau payment_intent.succeeded

Fulfillment chạy trong handler NestJS sau khi constructEvent thành công, không sau trang cảm ơn. Chúng tôi cập nhật bản ghi order hoặc entitlement bạn đã có.

NestJS test mode rồi mới live key

Ship NestJS với key test và webhook secret trước. Cắt live là đổi env và endpoint Dashboard đã ghi chú, không phải license add-on.

Webhook NestJS idempotent

Stripe retry. Handler NestJS khóa theo event.id (hoặc PaymentIntent id) để POST trùng không fulfill hai lần.

Client gọi NestJS vẫn là client

App React, Next.js hoặc mobile chỉ nhận publishable key và client_secret ngắn hạn từ API NestJS này. Add-on này là đường server NestJS, không phải Elements trong Nest.

Use cases

When Tích hợp Stripe cho NestJS fits

API thương mại hoặc booking NestJS sẵn có

Bạn đã tạo đơn trong NestJS và cần API tạo PaymentIntent rồi đánh dấu đã thanh toán từ webhook.

Agency bàn giao API NestJS cho production

Cần module Stripe dễ bảo trì trong NestJS, source trong repo khách, và checklist cắt live-key thay vì nhét script Express vào main.ts.

SaaS thu tiền qua API NestJS

NestJS tạo PaymentIntent đầu hoặc gắn payment method. Stripe Billing định kỳ và customer portal ở server. Billing nặng có thể cần báo giá tùy chỉnh.

NestJS đứng sau frontend riêng

Next.js, React hoặc mobile đã gọi API NestJS này. Tích hợp Stripe cho NestJS chỉ là phía API — Stripe.js frontend là landing platform khác nếu bạn cần.

Demo

Xem trước đường webhook Stripe trên NestJS

Xem đường server NestJS: tạo PaymentIntent, nhận POST /webhooks/stripe, constructEvent trên rawBody, cập nhật trạng thái đơn. Sandbox sống có sau compatibility check. Trang này không thu tiền thật và không thu thẻ trong NestJS.

How it works

Cách bàn giao Tích hợp Stripe cho NestJS

Quy trình add-on Bacodo chuẩn, với kiểm tra riêng cho Express vs Fastify, rawBody, ConfigModule và ORM service đang dùng.

  1. 01

    Chọn Stripe cho NestJS

    Xác nhận Tích hợp Stripe cho NestJS và ngày đầu là PaymentIntent, Checkout Session, hay cả hai trên API NestJS.

  2. 02

    Kiểm tra tương thích NestJS

    Xem phiên bản NestJS / Node, HTTP adapter (Express mặc định hoặc Fastify), persistence đơn, auth guard, và tài khoản Stripe.

  3. 03

    Tích hợp vào NestJS

    Thêm package stripe, module Payments, endpoint tạo intent, và controller webhook verify chữ ký trên raw body.

  4. 04

    Cấu hình app NestJS

    Gắn ConfigService từ env: secret key, publishable key cho client, webhook secret, và URL HTTPS công khai Stripe sẽ gọi.

  5. 05

    Test đường thanh toán NestJS

    Chạy Stripe CLI hoặc sự kiện test Dashboard vào webhook NestJS, cộng tạo intent và từ chối. Xác nhận body JSON đã parse thì chữ ký fail như kỳ vọng.

  6. 06

    Bàn giao source NestJS

    Giao source NestJS, ghi chú env và checklist live-key. Phần NestJS thuộc về bạn bảo trì.

Architecture

Stripe nối với dự án NestJS thế nào

Process NestJS giữ secret key. Client hỏi controller NestJS tạo PaymentIntent. Stripe báo NestJS bằng webhook. NestJS verify chữ ký trên rawBody rồi ghi trạng thái đơn.

App clientController NestJSstripe Node SDKStripe PaymentIntentsWebhook → NestJS rawBodyORM / repository của bạn

Supported technologies

What Tích hợp Stripe cho NestJS actually uses

NestJS trên Node.js

NestJS hiện tại trên Node LTS mà stripe SDK chấp nhận. HTTP adapter mặc định là Express. Fastify chỉ gồm nếu app NestJS đã boot kiểu đó và thống nhất trong compatibility check.

Thư viện stripe Node chính thức

PaymentIntents, Checkout Sessions và webhooks.constructEvent. Chúng tôi không biến wrapper nestjs-stripe không chính thức thành sản phẩm trừ khi bạn yêu cầu rõ.

Persistence NestJS hiện có

Cập nhật đơn hoặc entitlement ở Prisma, TypeORM, MikroORM hoặc repository bạn đã có. Add-on này không bịa database mới.

Tài khoản Stripe cho API NestJS

Tài khoản Stripe của bạn, key test và live NestJS dùng, endpoint webhook, và sự kiện Dashboard. Phí xử lý ở lại Stripe.

Hosting NestJS bắt buộc

Host chạy được Node và nhận HTTPS POST từ Stripe. Site chỉ static hoặc Next.js export không host được webhook NestJS này.

What's included

Tích hợp Stripe cho NestJS gồm gì

  • Tích hợp vào dự án NestJS hiện có
  • Full source trong repository của bạn
  • Env ConfigModule, module Payments và controller webhook
  • Đường tạo PaymentIntent hoặc Checkout Session API này cần
  • Ghi chú rawBody / adapter để constructEvent thực sự verify
  • Luồng webhook và intent NestJS đã test trước bàn giao
  • Ghi chú bàn giao cắt test sang live
  • Hỗ trợ kỹ thuật 30 ngày sau bàn giao

Không nằm trong giá add-on

  • Tài khoản Stripe, API key và phí xử lý Stripe — bạn sở hữu những thứ đó
  • Storefront mới hoặc UI Stripe.js — NestJS là API
  • Viết lại từ NestJS sang Next.js Route Handlers
  • Marketplace Connect, Billing tùy chỉnh hoặc thay IAP trừ khi scope riêng

Pricing

Giá Tích hợp Stripe cho NestJS

Giá này chỉ cho nền tảng NestJS. Không dùng giá add-on Next.js, Django, FastAPI, React hay Flutter.

Tích hợp Stripe cho NestJS

Thêm PaymentIntent và webhook ký sẵn sàng production vào API NestJS hiện có và giữ toàn bộ source.

Yêu cầu

  • Project NestJS hiện có
  • Quyền Stripe Test Mode
  • Cần frontend cho giao diện thanh toán

$175

một lần

NestJS

Chưa có frontend?

  • Full source code
  • Không phí license
  • Hỗ trợ 30 ngày
  • Tích hợp đầy đủ

Thanh toán an toàn quastripe

Delivery + security

Thực hành bàn giao và bảo mật NestJS

Thời gian bàn giao NestJS ước tính

Tích hợp Stripe NestJS điển hình được scope sau compatibility check. Timeline phụ thuộc HTTP adapter, auth guard và cách client gọi NestJS.

Đã test trên NestJS trước bàn giao

PaymentIntent test, chữ ký webhook, retry và từ chối được chạy trên app NestJS trước khi bàn giao.

Secret Stripe ở ConfigService NestJS

Secret key và webhook signing secret ở env server. Client chỉ nhận publishable key hoặc client_secret ngắn hạn.

Verify webhook trước khi NestJS ghi

Controller webhook NestJS verify chữ ký Stripe trên raw body trước khi cập nhật đơn.

Không tuyên bố bảo mật NestJS không kiểm chứng được

Chúng tôi không tuyên bố chứng nhận PCI, zero fraud hay tỉ lệ duyệt đảm bảo. NestJS không lưu PAN. Thẻ do Stripe Checkout hoặc Elements thu trên client, không DTO thẻ NestJS tự persist.

FAQ

Frequently asked questions

Tích hợp Stripe cho NestJS gồm những gì?

Tích hợp Stripe cho NestJS gồm stripe Node SDK chính thức, module Payments NestJS, service tạo PaymentIntent, controller webhook gọi constructEvent trên raw body, cập nhật trạng thái đơn trên store hiện có, test sự kiện Stripe test, và ghi chú bàn giao. Bạn nhận source NestJS trong project. Phí Stripe và tài khoản Stripe là phần riêng.

Các bạn có tích hợp Stripe vào project NestJS hiện có không?

Có. Tích hợp Stripe cho NestJS dành cho API NestJS bạn đã có. Chúng tôi gắn module, controller và env ConfigService vào app NestJS hiện tại, không giao một repo demo riêng làm deliverable.

Tích hợp Stripe cho NestJS có thu số thẻ trong NestJS không?

Không. NestJS không được lưu PAN. Client dùng Stripe Checkout hoặc Elements. Tích hợp Stripe cho NestJS sở hữu PaymentIntent phía server, webhook và ghi đơn. DTO NestJS tự viết post raw card nằm ngoài scope mặc định.

Tích hợp Stripe cho NestJS dùng package Stripe nào?

Tích hợp Stripe cho NestJS dùng thư viện stripe Node chính thức cho PaymentIntents, Checkout Sessions và webhooks.constructEvent. Chúng tôi không biến wrapper nestjs-stripe không chính thức thành sản phẩm trừ khi bạn yêu cầu rõ.

Vì sao Tích hợp Stripe cho NestJS nhất định dùng rawBody?

stripe.webhooks.constructEvent verify đúng bytes Stripe đã ký. JSON parser mặc định của Nest làm đổi body đó. Tích hợp Stripe cho NestJS bật rawBody (hoặc raw parser Fastify) trên route webhook. Dùng @Body() ở đó là cách chữ ký NestJS fail trên production.

Tích hợp Stripe cho NestJS có gồm Fastify không?

Mặc định Tích hợp Stripe cho NestJS giả định adapter Express mà Nest đi kèm. Fastify chỉ gồm nếu app NestJS đã boot bằng FastifyAdapter và chúng tôi thống nhất đường raw-body trong compatibility check NestJS.

Tích hợp Stripe cho NestJS có thu subscription được không?

NestJS có thể tạo PaymentIntent hoặc Checkout Session và lưu Stripe customer id. Sản phẩm Stripe Billing định kỳ, customer portal và logic hóa đơn ở server. Việc NestJS nặng subscription có thể cần báo giá tùy chỉnh.

Publishable và secret key Stripe nằm đâu trong app NestJS?

Process NestJS dùng secret key và webhook signing secret từ ConfigService / biến môi trường. Client chỉ nhận publishable key. Tích hợp Stripe cho NestJS không đưa secret key vào DTO hay bundle frontend.

Test mode và live mode Stripe hoạt động thế nào trên NestJS?

Chúng tôi triển khai Tích hợp Stripe cho NestJS với key test và sự kiện webhook test trước. Lên live là cắt key và endpoint đã ghi chú trên Stripe Dashboard và env NestJS, không phải kích hoạt license add-on.

Tích hợp Stripe cho NestJS xử lý 3-D Secure / SCA thế nào?

NestJS tạo PaymentIntent hỗ trợ SCA. Client hoàn tất 3-D Secure bằng Stripe.js hoặc Checkout. NestJS chỉ fulfill sau payment_intent.succeeded trên webhook, không chỉ sau redirect trình duyệt.

Checkout NestJS có bắt buộc webhook Stripe không?

Có, để fulfillment sau PaymentIntent hoặc Checkout Session do NestJS tạo. Response 201 NestJS gửi client không phải nguồn sự thật. Controller webhook verify chữ ký rồi đánh dấu đơn đã thanh toán.

Chúng tôi có giữ Prisma hoặc TypeORM với Tích hợp Stripe cho NestJS không?

Có. Tích hợp Stripe cho NestJS thường thêm field hoặc bản ghi thanh toán mỏng cạnh model đơn NestJS hiện có, không thay Prisma, TypeORM hay MikroORM.

Giá Tích hợp Stripe cho NestJS có gồm tài khoản Stripe hay phí không?

Không. Bạn tạo và sở hữu tài khoản Stripe, API key và phí xử lý Stripe. Giá add-on NestJS là triển khai vào project NestJS, không phải license thanh toán Bacodo.

Tích hợp Stripe cho NestJS có giống Next.js Route Handlers không?

Không. NestJS là API Node độc lập. Next.js App Router và Route Handlers thuộc Tích hợp Stripe cho Next.js. Chúng tôi không viết lại API NestJS thành Next.js trong giá add-on NestJS này.

Chúng tôi có tùy chỉnh biên lai và metadata Stripe trên NestJS được không?

Có. Metadata PaymentIntent hoặc Checkout Session, bản ghi khách và các field bạn persist sau webhook được căn với model đơn NestJS hiện có trong Tích hợp Stripe cho NestJS.

Hỗ trợ NestJS nào được gồm sau bàn giao Stripe?

Source NestJS nằm trong repo nên team bạn tự maintain. Hỗ trợ 30 ngày gồm câu hỏi kỹ thuật và lỗi trong scope Tích hợp Stripe cho NestJS đã giao, không phải feature NestJS không liên quan.

Cập nhật stripe hoặc NestJS sau tích hợp được xử lý thế nào?

Trong cửa sổ 30 ngày chúng tôi hỗ trợ breakage trên tích hợp NestJS đã giao do thay đổi Stripe API hoặc package stripe đã tài liệu. Nâng cấp NestJS sau đó là bảo trì của bạn, hoặc Hỗ trợ kỹ thuật mở rộng nếu mua.

Nếu thanh toán Stripe thất bại trên app NestJS production thì sao?

Chúng tôi ghi chú cách đọc trạng thái PaymentIntent, log Stripe Dashboard và webhook NestJS. Hỗ trợ 30 ngày gồm xử lý fail chữ ký (thường là rawBody), retry và key sai cấu hình cho luồng NestJS đã giao.

Phiên bản NestJS nào tương thích với Tích hợp Stripe cho NestJS?

Chúng tôi xác nhận phiên bản NestJS và Node LTS với bản stripe chúng tôi pin lúc tích hợp. Runtime NestJS cũ hoặc fork nặng có thể cần scope thêm.

Hỗ trợ 30 ngày khác gì Hỗ trợ kỹ thuật mở rộng 6 tháng cho Tích hợp Stripe cho NestJS?

30 ngày sau bàn giao được gồm cho đường Stripe NestJS đã giao. Hỗ trợ kỹ thuật mở rộng là tùy chọn, 20% giá add-on NestJS này, thêm sáu tháng hỗ trợ kỹ thuật trên cùng tích hợp NestJS, không phải xây sản phẩm mới.

Tích hợp Stripe cho NestJS

Thêm thanh toán Stripe sẵn sàng production vào API NestJS hiện có, giữ source, và để server sở hữu fulfillment.

$175