BacodoBACODO

Дополнение NestJS

Интеграция Stripe для NestJS

Добавьте официальный Stripe Node SDK, модуль Payments и контроллер веб-перехватчика, который проверяет Stripe-Signature в необработанном теле. NestJS — это API, он не монтирует платежный элемент и не является обработчиками маршрутов Next.js.

  • Полный исходный код включен и ваш навсегда
  • Дополнительный лицензионный ключ или повторяющаяся лицензия не требуются.
  • Готов к производству и протестирован
  • Интегрировано в ваш существующий проект и стек NestJS.
  • Включена техническая поддержка в течение 30 дней после передачи
  • Дополнительная расширенная техническая поддержка на 6 месяцев за 20 % от стоимости дополнения.

От

$175

USD · NestJS

Интеграция Stripe для NestJS · NestJS

Полный исходный кодНет лицензионного ключаГотов к производствуПротестированная интеграция30-дневная поддержка

Requirements

What Интеграция Stripe для NestJS needs

  • Существующий проект на NestJS
  • Доступ к Stripe Test Mode
  • Для платёжного интерфейса нужен фронтенд

Доступ к репозиторию не нужен. Доступ к проекту требуется, только если Bacodo должен интегрировать решение напрямую.

Что делает

Полоса на вашем NestJS API — контроллер не является карточной формой.

Bacodo интегрирует Stripe в уже существующий проект NestJS. После передачи модуль, сервис и контроллер остаются в вашем репозитории. Вы по-прежнему владеете учетной записью Stripe, ключами API и комиссиями Stripe. NestJS никогда не хранит PAN.

Проблема, которую он решает

Для производственного пути NestJS Stripe требуется официальный SDK полосы, создание PaymentIntent в поставщике и создание события в немодифицированном буфере запроса. Парсер JSON Nest по умолчанию прерывает проверку подписи, если вы @Body() используете вебхук. Это настоящий баг, а не лозунг.

Как это отражается в проекте

Мы добавляем модуль NestJS (ConfigService для STRIPE_SECRET_KEY/STRIPE_WEBHOOK_SECRET), сервис, создающий PaymentIntents, и контроллер веб-перехватчика, считывающий rawBody. Запись заказов осуществляется через репозиторий или ORM, который вы уже используете — Prisma, TypeORM или MikroORM, а не через хранилище только Bacodo.

Почему это экономит время разработки

Ваша команда пропускает первую производственную реализацию NestJS Stripe: rawBody в Express или Fastify, идемпотентную обработку событий, PaymentIntents с поддержкой SCA и передачу, которая документирует ключи от тестирования к работе.

Для кого это

Backend-инженеры и агентства, которые уже используют NestJS и нуждаются в поддерживаемом платежном API. Если вам нужен маршрутизатор приложений Next.js или React SPA, это разные площадки Stripe.

Ключевые возможности

Что входит в Интеграция Stripe для NestJS

Официальный Stripe SDK в провайдере NestJS

Создайте PaymentIntents с помощью пакета Stripe Node внутри службы NestJS. Секретный ключ поступает из ConfigService/env — никогда из DTO, который публикует клиент, и никогда из пакета внешнего интерфейса.

Контроллер Webhook использует rawBody, а не @Body()

Stripe.webhooks.constructEvent требует именно тех байтов, которые подписаны Stripe. Мы включаем Nest rawBody (или парсер Fastify Raw) на этом маршруте. Из-за первого анализа JSON интеграция NestJS Stripe терпит неудачу в производстве.

Состояние заказа NestJS после оплаты_intent.succeeded

Выполнение запускается в обработчике NestJS после успешного завершенияstructEvent, а не после страницы с благодарностью. Мы обновляем ваш существующий заказ или запись о праве, чтобы API, который вы уже предоставляете, отражал состояние оплаты.

Тестовый режим NestJS, затем активные ключи Stripe

Сначала отправьте NestJS с тестовыми ключами Stripe и секретом веб-перехватчика. Запуск в эксплуатацию — это документированное переключение конечной точки env и Dashboard, а не дополнительная лицензия.

Идемпотентная обработка веб-перехватчика NestJS

Полоса повторяет попытку. Обработчик NestJS отключает event.id (или идентификатор PaymentIntent), чтобы дубликат POST не выполнялся дважды.

Ваши клиенты NestJS остаются клиентами

React, Next.js или мобильное приложение получают от этого NestJS API только публикуемый ключ и недолговечный client_secret. Это дополнение представляет собой путь к серверу NestJS, а не к элементам внутри Nest.

Сценарии

Когда подходит Интеграция Stripe для NestJS

Существующий API коммерции или бронирования NestJS

Вы уже создаете заказы в NestJS, и вам нужен API для создания PaymentIntents и пометки заказов, оплаченных с помощью веб-перехватчиков.

Агентство передает клиентский API NestJS в производство

Вам понадобится поддерживаемый модуль Stripe в NestJS, исходный код в клиентском репозитории и документированное переключение с использованием живого ключа вместо одноразового сценария Express, помещенного в main.ts.

SaaS оплачивается через NestJS API

NestJS создает первый PaymentIntent или присоединяет метод оплаты. Регулярный биллинг Stripe и клиентский портал остаются на сервере. Для тяжелой работы по выставлению счетов может потребоваться индивидуальное предложение.

NestJS за отдельным интерфейсом

Next.js, React или мобильные устройства уже вызывают этот NestJS API. Интеграция Stripe для NestJS — это только API-интерфейс, а интерфейс Stripe.js — это другая платформа, если вам это тоже нужно.

Демо

Предварительный просмотр пути веб-перехватчика NestJS Stripe

Просмотрите путь к серверу NestJS: создайте PaymentIntent, получите POST/webhooks/stripe, постройте событие на rawBody, обновите состояние заказа. Живая песочница для вашей учетной записи Stripe доступна после проверки совместимости. Эта страница не обрабатывает реальные платежи и не собирает карты в NestJS.

Как это работает

Как осуществляется интеграция Stripe для NestJS

Стандартный рабочий процесс надстройки Bacodo со специфичными для NestJS проверками Express и Fastify, rawBody, ConfigModule и ORM, которые уже используют ваши сервисы.

  1. 01

    Выберите полосу NestJS.

    Подтвердите интеграцию Stripe для NestJS и укажите, будет ли первый день PaymentIntents, Checkout Sessions или и то, и другое в NestJS API.

  2. 02

    Проверка совместимости NestJS

    Просмотрите версии NestJS/Node, HTTP-адаптер (Express по умолчанию или Fastify), существующее сохранение порядка, защиту аутентификации и наличие у вас уже учетной записи Stripe.

  3. 03

    Интеграция с NestJS

    Добавьте пакет чередования, модуль «Платежи», конечную точку создания намерения и контроллер веб-перехватчика, который проверяет подписи в необработанном теле.

  4. 04

    Настройте приложение NestJS

    Подключите ConfigService из env: секретный ключ, публикуемый ключ для клиентов, секрет веб-перехватчика и общедоступный URL-адрес HTTPS, который будет вызывать Stripe.

  5. 05

    Проверьте путь оплаты NestJS

    Запускайте тестовые события Stripe CLI или Dashboard для веб-перехватчика NestJS, а также пути создания и отклонения. Убедитесь, что проанализированное тело JSON не подписывается должным образом.

  6. 06

    Передача исходного кода NestJS

    Предоставьте исходный код NestJS, примечания к окружению и контрольный список действующих ключей. Реализация NestJS остается за вами.

Архитектура

Как Stripe подключается к проекту NestJS

Процесс NestJS содержит секретный ключ. Клиенты просят контроллер NestJS создать PaymentIntent. Stripe уведомляет NestJS с помощью веб-перехватчика. NestJS проверяет подпись на rawBody, затем записывает состояние заказа.

Клиентское приложениеКонтроллер NestJSполосатый Node SDKПлатежные намерения StripeВебхук → NestJS rawBodyВаш ORM/репозиторий

Поддерживаемые технологии

Что Интеграция Stripe для NestJS реально использует

NestJS на Node.js

Текущий NestJS на Node LTS принимает Stripe SDK. HTTP-адаптер по умолчанию — Express. Fastify включается только в том случае, если приложение NestJS уже загружается именно так, и мы соглашаемся с этим при проверке совместимости.

Официальная библиотека узлов полосы

PaymentIntents, сеансы оформления заказа и webhooks.constructEvent. Мы не создаем неофициальную оболочкуnesjs-stripe для продукта, если она вам явно не требуется.

Ваша настойчивость NestJS

Обновления заказов или прав остаются в Prisma, TypeORM, MikroORM или в уже имеющемся у вас репозитории. Это дополнение не изобретает новую базу данных.

Учетная запись Stripe для NestJS API

Ваша учетная запись Stripe, тестовые и действующие ключи, используемые NestJS, конечной точкой веб-перехватчика и событиями Dashboard. Плата за обработку Stripe остается за Stripe.

Требуется хостинг NestJS

Хост, который может запускать Node и получать HTTPS POST от Stripe. Статический сайт или экспорт только Next.js не могут размещать этот путь веб-перехватчика NestJS.

Что входит

Что включает в себя интеграция Stripe для NestJS

  • Интеграция в существующий проект NestJS
  • Полный исходный код в вашем репозитории
  • ConfigModule env, модуль платежей и контроллер веб-перехватчика
  • PaymentIntent или Checkout Session создают путь, который нужен этому API
  • rawBody / примечания к адаптеру, поэтомуstructEvent фактически проверяет
  • Перед передачей протестированы веб-перехватчик NestJS и потоки намерений.
  • Примечания по передаче для переключения между тестированием и эксплуатацией
  • 30-дневная техническая поддержка после передачи

Не входит в дополнительную цену

  • Учетная запись Stripe, ключи API и плата за обработку Stripe — они принадлежат вам.
  • Новая витрина или пользовательский интерфейс Stripe.js — NestJS — это API.
  • Переписывание с NestJS на обработчики маршрутов Next.js
  • Marketplace Connect, пользовательские продукты для выставления счетов или замена покупок в приложении, если они не рассматриваются как пользовательская работа.

Pricing

Интеграция Stripe для ценообразования NestJS

Эта цена указана только для платформы NestJS. Он не использует цены на надстройки Next.js, Django, FastAPI, React или Flutter.

Интеграция Stripe для NestJS

Добавьте готовые к использованию Stripe PaymentIntents и подписанные веб-перехватчики в существующий API NestJS и сохраните исходный код.

Требования

  • Существующий проект на NestJS
  • Доступ к Stripe Test Mode
  • Для платёжного интерфейса нужен фронтенд

$175

разово

NestJS

Нужен фронтенд?

  • Полный исходный код
  • Без лицензионной платы
  • 30 дней поддержки
  • Полная интеграция

Безопасная оплата черезstripe

Передача и безопасность

Практики доставки и безопасности NestJS

Предполагаемая доставка NestJS

Типичная интеграция NestJS Stripe определяется после проверки совместимости NestJS. Временная шкала зависит от вашего HTTP-адаптера, средств аутентификации и того, как клиенты вызывают NestJS.

Протестировано на NestJS перед передачей

Платежные намерения, подписи веб-перехватчиков, повторные попытки и пути отклонения в тестовом режиме проверяются перед передачей приложения NestJS.

Секреты Stripe остаются в NestJS ConfigService

Секретные ключи и секреты подписи веб-перехватчиков остаются в среде сервера. Клиенты получают только публикуемый ключ или недолговечный client_secret.

Проверка вебхука перед записью NestJS

Контроллер веб-перехватчика NestJS проверяет подписи Stripe в необработанном теле перед обновлением состояния заказа или прав.

Никаких непроверяемых заявлений о безопасности NestJS.

Мы не претендуем на сертификацию PCI, отсутствие мошенничества или гарантированный уровень одобрения. NestJS не хранит PAN. Данные карты собираются Stripe Checkout или Elements на клиенте, а не специальным DTO карты NestJS, который мы сохраняем.

FAQ

Частые вопросы

Что включает в себя интеграция Stripe для NestJS?

Интеграция Stripe для NestJS включает в себя официальный Stripe Node SDK, модуль NestJS Payments, службу create-PaymentIntent, контроллер веб-перехватчика, который вызывает buildEvent в необработанном теле, обновления состояния заказа в существующем магазине, тесты на тестовые события Stripe и заметки о передаче. Вы получаете исходный код NestJS в свой проект. Комиссия Stripe и ваша учетная запись Stripe разделены.

Будете ли вы интегрировать Stripe в наш существующий проект NestJS?

Да. Интеграция Stripe для NestJS создана для уже имеющегося API NestJS. Мы встраиваем модуль, контроллер и среду ConfigService в ваше текущее приложение NestJS вместо того, чтобы отправлять отдельный демонстрационный репозиторий в качестве результата.

Собирает ли Stripe Integration для NestJS номера карт в NestJS?

Нет. NestJS не должен хранить PAN. Клиенты используют Stripe Checkout или Elements. Stripe Integration для NestJS владеет серверными объектами PaymentIntents, веб-перехватчиками и записью заказов. Пользовательский DTO NestJS, который публикует необработанные данные карты, выходит за рамки области действия по умолчанию.

Какой пакет Stripe использует Stripe Integration для NestJS?

Интеграция Stripe для NestJS использует официальную библиотеку Stripe Node для PaymentIntents, сеансов оформления заказа и webhooks.constructEvent. Мы не создаем неофициальную оболочкуnesjs-stripe для продукта, если она вам явно не требуется.

Почему интеграция Stripe для NestJS настаивает на rawBody?

Stripe.webhooks.constructEvent проверяет точные байты, подписанные Stripe. Парсер JSON Nest по умолчанию изменяет это тело. Интеграция Stripe для NestJS позволяет использовать rawBody (или необработанный парсер Fastify) на маршруте веб-перехватчика. При использовании @Body() происходит сбой проверки подписи NestJS в рабочей среде.

Включен ли Fastify в интеграцию Stripe для NestJS?

Интеграция Stripe по умолчанию для NestJS предполагает, что в комплект поставки входит адаптер Express Express. Fastify включается только в том случае, если ваше приложение NestJS уже загружается с FastifyAdapter и мы согласовываем путь к необработанному телу во время проверки совместимости NestJS.

Может ли Stripe Integration для NestJS собирать платежи за подписку?

NestJS может создать сеанс PaymentIntent или Checkout и сохранить идентификатор клиента Stripe. Продукты повторяющегося биллинга Stripe, клиентский портал и логика выставления счетов остаются на сервере. Для работы с NestJS, требующей большой подписки, может потребоваться специальная цена.

Где в приложении NestJS хранятся публикуемые и секретные ключи Stripe?

Процесс NestJS использует секретный ключ и секрет подписи веб-перехватчика из переменных ConfigService/среды. Клиенты получают только публикуемый ключ. Интеграция Stripe для NestJS не помещает секретные ключи в DTO или пакет внешнего интерфейса.

Как режим тестирования Stripe и режим реального времени работают в NestJS?

Мы реализуем интеграцию Stripe для NestJS с тестовыми ключами Stripe и сначала тестируем события веб-перехватчика. Запуск — это задокументированное переключение ключа и конечной точки в вашей панели управления Stripe и среде NestJS, а не активация дополнительной лицензии.

Как интеграция Stripe для NestJS обрабатывает 3-D Secure/SCA?

NestJS создает PaymentIntents, поддерживающие SCA. Клиент выполняет 3-D Secure с помощью Stripe.js или Checkout. NestJS выполняется только после оплаты_intent.succeeded на веб-перехватчике, а не только после перенаправления браузера.

Требуются ли веб-хуки Stripe для оформления заказа на NestJS?

Да, для выполнения после созданного NestJS сеанса PaymentIntent или Checkout. Ответ NestJS 201 клиенту не является источником истины. Контроллер веб-перехватчика проверяет подписи, а затем отмечает оплаченный заказ.

Можем ли мы сохранить Prisma или TypeORM с интеграцией Stripe для NestJS?

Да. Интеграция Stripe для NestJS обычно добавляет поля или тонкую запись платежа рядом с существующей моделью заказов NestJS вместо замены Prisma, TypeORM или MikroORM.

Включает ли цена интеграции Stripe для NestJS учетную запись Stripe или комиссию?

Нет. Вы создаете и владеете учетной записью Stripe, ключами API и комиссией за обработку Stripe. Дополнительная цена NestJS — это внедрение в ваш проект NestJS, а не платежная лицензия Bacodo.

Является ли интеграция Stripe для NestJS тем же, что и обработчики маршрутов Next.js?

Нет. NestJS — это отдельный Node API. Маршрутизатор приложений Next.js и обработчики маршрутов представляют собой интеграцию Stripe для Next.js. Мы не переписываем NestJS API в Next.js в рамках этой надстройки NestJS.

Можем ли мы настроить квитанции и метаданные Stripe в NestJS?

Да. Метаданные сеанса PaymentIntent или Checkout, записи клиентов и поля, которые вы сохраняете после подтверждения веб-перехватчика, приводятся в соответствие с существующей моделью заказов NestJS во время интеграции Stripe для NestJS.

Какая поддержка NestJS включена после передачи Stripe?

Исходный код NestJS находится в вашем репозитории, поэтому ваша команда может его поддерживать. Включенная 30-дневная поддержка охватывает технические вопросы и дефекты в поставляемой интеграции Stripe для NestJS, а не работу несвязанных функций NestJS.

Как обрабатываются обновления полосы или NestJS после интеграции?

В течение 30-дневного периода мы помогаем устранить сбои в поставляемой интеграции NestJS, вызванные задокументированным API-интерфейсом Stripe или изменением пакета Stripe. Постоянные обновления NestJS после этого — это ваше обслуживание или расширенная техническая поддержка, если вы его купите.

Что, если платежи Stripe не будут выполнены в рабочем приложении NestJS?

Мы документируем, как читать статус PaymentIntent, журналы Stripe Dashboard и доставку веб-перехватчика NestJS. 30-дневная поддержка включает устранение сбоев подписи (обычно rawBody), повторных попыток и неправильной настройки ключей для доставленного потока NestJS.

Какие версии NestJS совместимы с интеграцией Stripe для NestJS?

Мы подтверждаем ваши версии NestJS и Node LTS по выпуску полосы, который мы закрепляем во время интеграции. Старым или сильно разветвленным средам выполнения NestJS могут потребоваться дополнительные возможности.

Что такое 30-дневная поддержка по сравнению с 6-месячной расширенной технической поддержкой для интеграции Stripe для NestJS?

30 дней после передачи включены в доставленный путь NestJS Stripe. Расширенная техническая поддержка является необязательной и стоит 20 % от стоимости дополнения к NestJS. Она покрывает еще шесть месяцев технической помощи по той же интеграции NestJS, а не по созданию нового продукта.

Интеграция Stripe для NestJS

Добавьте готовые к использованию платежи Stripe в существующий API NestJS, сохраните исходный код и предоставьте серверу возможность самостоятельно выполнять операции.

$175