- 既存の NestJS プロジェクト
- Stripe Test Mode アクセス
- 決済UIにはフロントエンドが必要です
リポジトリ権限は不要です。Bacodo に直接組み込んでほしい場合のみ、一時的なプロジェクト権限が必要です。
NestJS アドオン
公式のストライプ ノード SDK、支払いモジュール、および生の本体のストライプ署名を検証する Webhook コントローラーを追加します。 NestJS は API です。NestJS は Payment 要素をマウントせず、Next.js ルート ハンドラーでもありません。
〜から
$175
USD · NestJS
NestJS の Stripe 統合 · NestJS
Requirements
リポジトリ権限は不要です。Bacodo に直接組み込んでほしい場合のみ、一時的なプロジェクト権限が必要です。
できること
Bacodo は、Stripe を既存の NestJS プロジェクトに統合します。ハンドオーバー後、モジュール、サービス、コントローラーはリポジトリ内に存在します。 Stripe アカウント、API キー、および Stripe 料金は引き続き所有されます。 NestJS は PAN を保存しません。
本番環境の NestJS Stripe パスには、公式のストライプ SDK、プロバイダーでの PaymentIntent の作成、および未変更のリクエスト バッファーでのconstructEventが必要です。 Webhook を @Body() すると、Nest のデフォルトの JSON パーサーは署名検証を中断します。それはスローガンではなく、本当のバグです。
NestJS モジュール (STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET の ConfigService)、PaymentIntents を作成するサービス、および rawBody を読み取る Webhook コントローラーを追加します。注文の書き込みは、Bacodo 専用ストアではなく、すでに使用しているリポジトリまたは ORM (Prisma、TypeORM、または MikroORM) を経由します。
チームは、最初の本番環境の NestJS Stripe 実装 (Express または Fastify の rawBody、冪等イベント処理、SCA 対応 PaymentIntents、テストからライブへのキーを文書化するハンドオーバー) をスキップします。
すでに NestJS を実行しており、保守可能な支払い API を必要とするバックエンド エンジニアおよび代理店。 Next.js App Router または React SPA が必要な場合は、Stripe の別の着地となります。
主な機能
NestJS サービス内でストライプ Node パッケージを使用して PaymentIntents を作成します。秘密キーは ConfigService / env から取得されます。クライアントが投稿する DTO から取得されることはなく、フロントエンド バンドルから取得されることもありません。
Stripe.webhooks.constructEvent には、Stripe が署名した正確なバイトが必要です。そのルートで Nest rawBody (または Fastify raw パーサー) を有効にします。最初に JSON を解析すると、本番環境で NestJS Stripe 統合が失敗します。
フルフィルメントは、サンキューページの後ではなく、constructEvent が成功した後に NestJS ハンドラーで実行されます。すでに公開されている API に支払い済みの状態が反映されるように、既存の注文または資格レコードが更新されます。
まず、Stripe テスト キーと Webhook シークレットを付けて NestJS を発送します。ライブへの移行は、アドオン ライセンスではなく、文書化された環境およびダッシュボード エンドポイントのカットオーバーです。
ストライプの再試行。 NestJS ハンドラーは、event.id (または PaymentIntent ID) をキーオフにして、重複した POST が二重に実行されないようにします。
React、Next.js、またはモバイル アプリは、この NestJS API から公開可能キーと有効期限の短い client_secret のみを受け取ります。このアドオンは NestJS サーバーのパスであり、Nest 内の要素ではありません。
用途
すでに NestJS で注文を作成しているため、PaymentIntent を作成し、Webhook から支払われた注文をマークするための API が必要です。
NestJS の保守可能な Stripe モジュール、クライアント リポジトリのソース、main.ts にドロップされた 1 回限りの Express スクリプトの代わりに文書化されたライブキー カットオーバーが必要です。
NestJS は最初の PaymentIntent を作成するか、支払い方法をアタッチします。定期的な Stripe Billing とカスタマー ポータルはサーバー上に残ります。大量の請求作業にはカスタム見積もりが必要になる場合があります。
Next.js、React、またはモバイルはすでにこの NestJS API を呼び出しています。 NestJS の Stripe 統合は API 側のみです。フロントエンドの Stripe.js も必要な場合は、別のプラットフォームに着陸します。
デモ
NestJS サーバー パスをプレビューします。PaymentIntent を作成し、POST /webhooks/ストライプを受信し、rawBody でstructEvent を作成し、注文状態を更新します。 Stripe アカウントに対するライブ サンドボックスは、互換性チェック後に利用可能になります。このページは実際の請求を処理せず、NestJS でカードを収集しません。
仕組み
標準の Bacodo アドオン ワークフロー。Express と Fastify、rawBody、ConfigModule、およびサービスがすでに使用している ORM に対する NestJS 固有のチェックを行います。
01
NestJS の Stripe 統合と、NestJS API での初日が PaymentIntents、Checkout Sessions、またはその両方であるかどうかを確認します。
02
NestJS / ノードのバージョン、HTTP アダプター (Express デフォルトまたは Fastify)、既存の注文の永続性、認証ガード、および Stripe アカウントを既に持っているかどうかを確認します。
03
ストライプ パッケージ、Payments モジュール、create-intent エンドポイント、および生の本文の署名を検証する Webhook コントローラーを追加します。
04
env から ConfigService をワイヤリングします: 秘密キー、クライアントの公開可能キー、Webhook シークレット、およびストライプが呼び出すパブリック HTTPS URL。
05
NestJS Webhook に対して Stripe CLI またはダッシュボードのテスト イベントを実行し、さらに、インテントの作成パスと拒否パスを実行します。解析された JSON 本文の署名が期待どおりに失敗することを確認します。
06
NestJS ソース、環境ノート、ライブキー チェックリストを提供します。 NestJS 実装はあなたが保守します。
アーキテクチャ
NestJS プロセスは秘密鍵を保持します。クライアントは、NestJS コントローラーに PaymentIntent の作成を要求します。 Stripe は Webhook で NestJS に通知します。 NestJS は rawBody の署名を検証し、注文状態を書き込みます。
対応技術
ストライプ SDK が受け入れるノード LTS 上の現在の NestJS。デフォルトの HTTP アダプターは Express です。 Fastify は、NestJS アプリの起動方法がすでに設定されており、互換性チェックで同意した場合にのみ含まれます。
PaymentIntents、Checkout Sessions、および webhooks.constructEvent。明示的に必要な場合を除き、非公式のnestjs-ストライプラッパーを製品として作成することはありません。
注文や権利の更新は、Prisma、TypeORM、MikroORM、または既存のリポジトリに残ります。このアドオンは新しいデータベースを作成しません。
Stripe アカウント、NestJS で使用されるテスト キーとライブ キー、Webhook エンドポイント、ダッシュボード イベント。 Stripe の処理料金は Stripe に残ります。
Node を実行し、Stripe から HTTPS POST を受信できるホスト。静的専用サイトまたは Next.js 専用エクスポートは、この NestJS Webhook パスをホストできません。
含まれるもの
Pricing
この価格は NestJS プラットフォームのみに適用されます。 Next.js、Django、FastAPI、React、または Flutter のアドオン価格は使用しません。
NestJS の Stripe 統合
本番環境に対応した Stripe PaymentIntents と署名付き Webhook を既存の NestJS API に追加し、ソース コードを保持します。
前提条件
$175
一回払いNestJS
フロントエンドが必要ですか?
安全な決済:stripe
納品とセキュリティ
一般的な NestJS Stripe 統合は、NestJS 互換性チェックの後にスコープが設定されます。タイムラインは、HTTP アダプター、認証ガード、クライアントが NestJS を呼び出す方法によって異なります。
テストモードの PaymentIntents、Webhook 署名、再試行、および拒否パスは、引き渡す前に NestJS アプリに対して実行されます。
秘密キーと Webhook 署名シークレットはサーバー環境に残ります。クライアントは、公開可能なキーまたは有効期間が短い client_secret のみを受け取ります。
NestJS Webhook コントローラーは、注文または権利の状態を更新する前に、生の本文の Stripe 署名を検証します。
当社は、PCI 認証、不正行為ゼロ、承認率の保証などを主張するものではありません。 NestJS は PAN を保存しません。カード データは、永続化するカスタム NestJS カード DTO ではなく、クライアント上の Stripe Checkout または Elements によって収集されます。
FAQ
NestJS 用の Stripe 統合には、公式のストライプ ノード SDK、NestJS Payments モジュール、create-PaymentIntent サービス、生の本体でconstructEvent を呼び出す Webhook コントローラー、既存のストアの注文状態の更新、Stripe テスト イベントに対するテスト、および引き継ぎメモが含まれています。プロジェクトで NestJS ソースを受け取ります。 Stripe の料金と Stripe アカウントは別のものです。
はい。 Stripe Integration for NestJS は、すでにお持ちの NestJS API 用に構築されています。成果物として個別のデモ リポジトリを出荷するのではなく、モジュール、コントローラー、ConfigService 環境を現在の NestJS アプリに組み込みます。
いいえ。NestJS は PAN を保存してはなりません。クライアントは Stripe Checkout または Elements を使用します。 Stripe Integration for NestJS は、サーバー側の PaymentIntents、Webhook、および注文の書き込みを所有します。未加工のカード データをポストするカスタム NestJS DTO は、デフォルトのスコープ外です。
Stripe Integration for NestJS は、PaymentIntents、Checkout Sessions、webhooks.constructEvent に公式のストライプ ノード ライブラリを使用します。明示的に必要な場合を除き、非公式のnestjs-ストライプラッパーを製品として作成することはありません。
Stripe.webhooks.constructEvent は、Stripe が署名した正確なバイトを検証します。 Nest のデフォルトの JSON パーサーはその本文を変更します。 Stripe Integration for NestJS により、Webhook ルートで rawBody (または Fastify raw パーサー) が有効になります。 @Body() を使用すると、本番環境で NestJS 署名チェックが失敗することがわかります。
NestJS のデフォルトの Stripe 統合は、Nest に付属する Express アダプターを前提としています。 Fastify は、NestJS アプリがすでに FastifyAdapter で起動しており、NestJS 互換性チェック中に raw-body パスに同意する場合にのみ含まれます。
NestJS は、PaymentIntent または Checkout セッションを作成し、Stripe 顧客 ID を保存できます。定期的な Stripe Billing 製品、顧客ポータル、請求書のロジックはサーバー上に残ります。サブスクリプションの多い NestJS 作業には、カスタム見積もりが必要になる場合があります。
NestJS プロセスは、ConfigService / 環境変数からの秘密キーと Webhook 署名秘密を使用します。クライアントは公開可能なキーのみを受け取ります。 Stripe Integration for NestJS は、DTO またはフロントエンド バンドルに秘密キーを置きません。
Stripe テストキーに対して NestJS 用の Stripe Integration を実装し、最初に Webhook イベントをテストします。ライブ配信とは、Stripe ダッシュボードと NestJS 環境での文書化されたキーとエンドポイントのカットオーバーであり、アドオン ライセンスのアクティベーションではありません。
NestJS は、SCA をサポートする PaymentIntent を作成します。クライアントは、Stripe.js または Checkout を使用して 3-D セキュアを完了します。 NestJS は、ブラウザー単独のリダイレクト後ではなく、Webhook でのpayment_intent.succeeded 後にのみ実行されます。
NestJS で作成された PaymentIntent または Checkout セッション後のフルフィルメントの場合ははい。クライアントへの NestJS 201 応答は真実の情報源ではありません。 Webhook コントローラーは署名を検証し、注文に支払い済みのマークを付けます。
はい。 Stripe Integration for NestJS は通常、Prisma、TypeORM、または MikroORM を置き換えるのではなく、既存の NestJS 注文モデルの隣にフィールドまたはシン支払いレコードを追加します。
いいえ。Stripe アカウント、API キー、および Stripe 処理料金を作成して所有するのはお客様です。 NestJS アドオンの価格は、Bacodo 支払いライセンスではなく、NestJS プロジェクトへの実装です。
いいえ。NestJS はスタンドアロンのノード API です。 Next.js アプリ ルーターとルート ハンドラーは、Next.js の Stripe 統合です。この NestJS アドオン価格内では、NestJS API を Next.js に書き換えることはありません。
はい。 PaymentIntent または Checkout セッションのメタデータ、顧客レコード、および Webhook 確認後に保持するフィールドは、Stripe Integration for NestJS 中に既存の NestJS 注文モデルに合わせて調整されます。
NestJS ソースはリポジトリにあるため、チームはそれを保守できます。含まれる 30 日間のサポートは、無関係な NestJS 機能の作業ではなく、提供された NestJS の Stripe Integration の範囲における技術的な質問と欠陥をカバーします。
30 日間の期間中、文書化された Stripe API またはストライプ パッケージの変更によって引き起こされた、提供された NestJS 統合の破損をサポートします。その後の継続的な NestJS アップグレードはメンテナンス、または購入した場合は延長テクニカル サポートになります。
PaymentIntent ステータス、Stripe Dashboard ログ、NestJS Webhook 配信を読み取る方法を文書化します。 30 日間のサポートには、配信された NestJS フローの署名の失敗 (通常は rawBody)、再試行、キーの構成ミスのトラブルシューティングが含まれます。
NestJS と Node LTS のバージョンを、統合時に固定したストライプ リリースと照合して確認します。古いまたは大きくフォークされた NestJS ランタイムでは、追加のスコープが必要になる場合があります。
引き渡し後の 30 日は、配信された NestJS Stripe パスに含まれます。延長テクニカル サポートはオプションで、この NestJS アドオン価格の 20% で、新しい製品のビルドではなく、同じ NestJS 統合に関するさらに 6 か月のテクニカル サポートがカバーされます。
本番環境に対応した Stripe 決済を既存の NestJS API に追加し、ソース コードを保持して、サーバーが独自のフルフィルメントを実行できるようにします。
$175