BacodoBACODO

NestJS アドオン

NestJS の Stripe 統合

公式のストライプ ノード SDK、支払いモジュール、および生の本体のストライプ署名を検証する Webhook コントローラーを追加します。 NestJS は API です。NestJS は Payment 要素をマウントせず、Next.js ルート ハンドラーでもありません。

  • 完全なソースコードが含まれており、永久にあなたのものになります
  • アドオン ライセンス キーや定期ライセンスは必要ありません
  • 本番環境に対応し、テスト済み
  • 既存の NestJS プロジェクトとスタックに統合
  • 引き渡し後30日間のテクニカルサポートが含まれます
  • オプションの 6 か月延長テクニカル サポート (アドオン価格の 20%)

〜から

$175

USD · NestJS

デモを見る

NestJS の Stripe 統合 · NestJS

完全なソースコードライセンスキーがありません本番環境に対応テスト済みの統合30日間のサポート

Requirements

What NestJS の Stripe 統合 needs

  • 既存の NestJS プロジェクト
  • Stripe Test Mode アクセス
  • 決済UIにはフロントエンドが必要です

リポジトリ権限は不要です。Bacodo に直接組み込んでほしい場合のみ、一時的なプロジェクト権限が必要です。

できること

NestJS API のストライプ — コントローラーはカード形式ではありません

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 の Stripe 統合に含まれるもの

NestJS プロバイダーの公式ストライプ SDK

NestJS サービス内でストライプ Node パッケージを使用して PaymentIntents を作成します。秘密キーは ConfigService / env から取得されます。クライアントが投稿する DTO から取得されることはなく、フロントエンド バンドルから取得されることもありません。

Webhook コントローラーは @Body() ではなく rawBody を使用します

Stripe.webhooks.constructEvent には、Stripe が署名した正確なバイトが必要です。そのルートで Nest rawBody (または Fastify raw パーサー) を有効にします。最初に JSON を解析すると、本番環境で NestJS Stripe 統合が失敗します。

Payment_intent.succeeded 後の NestJS 注文状態

フルフィルメントは、サンキューページの後ではなく、constructEvent が成功した後に NestJS ハンドラーで実行されます。すでに公開されている API に支払い済みの状態が反映されるように、既存の注文または資格レコードが更新されます。

NestJS テストモードとライブストライプキー

まず、Stripe テスト キーと Webhook シークレットを付けて NestJS を発送します。ライブへの移行は、アドオン ライセンスではなく、文書化された環境およびダッシュボード エンドポイントのカットオーバーです。

べき等な NestJS Webhook の処理

ストライプの再試行。 NestJS ハンドラーは、event.id (または PaymentIntent ID) をキーオフにして、重複した POST が二重に実行されないようにします。

NestJS クライアントはクライアントのままです

React、Next.js、またはモバイル アプリは、この NestJS API から公開可能キーと有効期限の短い client_secret のみを受け取ります。このアドオンは NestJS サーバーのパスであり、Nest 内の要素ではありません。

用途

NestJS の Stripe 統合が合うとき

既存の NestJS コマースまたは予約 API

すでに NestJS で注文を作成しているため、PaymentIntent を作成し、Webhook から支払われた注文をマークするための API が必要です。

NestJS クライアント API を本番環境に引き渡す代理店

NestJS の保守可能な Stripe モジュール、クライアント リポジトリのソース、main.ts にドロップされた 1 回限りの Express スクリプトの代わりに文書化されたライブキー カットオーバーが必要です。

NestJS API を通じて請求される SaaS

NestJS は最初の PaymentIntent を作成するか、支払い方法をアタッチします。定期的な Stripe Billing とカスタマー ポータルはサーバー上に残ります。大量の請求作業にはカスタム見積もりが必要になる場合があります。

別のフロントエンドの背後にある NestJS

Next.js、React、またはモバイルはすでにこの NestJS API を呼び出しています。 NestJS の Stripe 統合は API 側のみです。フロントエンドの Stripe.js も必要な場合は、別のプラットフォームに着陸します。

デモ

NestJS Stripe Webhook パスのプレビュー

NestJS サーバー パスをプレビューします。PaymentIntent を作成し、POST /webhooks/ストライプを受信し、rawBody でstructEvent を作成し、注文状態を更新します。 Stripe アカウントに対するライブ サンドボックスは、互換性チェック後に利用可能になります。このページは実際の請求を処理せず、NestJS でカードを収集しません。

仕組み

Stripe Integration for NestJS の提供方法

標準の Bacodo アドオン ワークフロー。Express と Fastify、rawBody、ConfigModule、およびサービスがすでに使用している ORM に対する NestJS 固有のチェックを行います。

  1. 01

    NestJS ストライプを選択します

    NestJS の Stripe 統合と、NestJS API での初日が PaymentIntents、Checkout Sessions、またはその両方であるかどうかを確認します。

  2. 02

    NestJS の互換性チェック

    NestJS / ノードのバージョン、HTTP アダプター (Express デフォルトまたは Fastify)、既存の注文の永続性、認証ガード、および Stripe アカウントを既に持っているかどうかを確認します。

  3. 03

    NestJS に統合する

    ストライプ パッケージ、Payments モジュール、create-intent エンドポイント、および生の本文の署名を検証する Webhook コントローラーを追加します。

  4. 04

    NestJS アプリを構成する

    env から ConfigService をワイヤリングします: 秘密キー、クライアントの公開可能キー、Webhook シークレット、およびストライプが呼び出すパブリック HTTPS URL。

  5. 05

    NestJS 支払いパスをテストする

    NestJS Webhook に対して Stripe CLI またはダッシュボードのテスト イベントを実行し、さらに、インテントの作成パスと拒否パスを実行します。解析された JSON 本文の署名が期待どおりに失敗することを確認します。

  6. 06

    NestJS ソースを引き渡す

    NestJS ソース、環境ノート、ライブキー チェックリストを提供します。 NestJS 実装はあなたが保守します。

アーキテクチャ

Stripe が NestJS プロジェクトに接続する方法

NestJS プロセスは秘密鍵を保持します。クライアントは、NestJS コントローラーに PaymentIntent の作成を要求します。 Stripe は Webhook で NestJS に通知します。 NestJS は rawBody の署名を検証し、注文状態を書き込みます。

クライアントアプリNestJS コントローラーストライプノードSDKStripe PaymentIntentsWebhook → NestJS rawBodyORM / リポジトリ

対応技術

NestJS の Stripe 統合が実際に使うもの

Node.js 上の NestJS

ストライプ SDK が受け入れるノード LTS 上の現在の NestJS。デフォルトの HTTP アダプターは Express です。 Fastify は、NestJS アプリの起動方法がすでに設定されており、互換性チェックで同意した場合にのみ含まれます。

公式ストライプノードライブラリ

PaymentIntents、Checkout Sessions、および webhooks.constructEvent。明示的に必要な場合を除き、非公式のnestjs-ストライプラッパーを製品として作成することはありません。

NestJS の永続性

注文や権利の更新は、Prisma、TypeORM、MikroORM、または既存のリポジトリに残ります。このアドオンは新しいデータベースを作成しません。

NestJS API の Stripe アカウント

Stripe アカウント、NestJS で使用されるテスト キーとライブ キー、Webhook エンドポイント、ダッシュボード イベント。 Stripe の処理料金は Stripe に残ります。

必要なNestJSホスティング

Node を実行し、Stripe から HTTPS POST を受信できるホスト。静的専用サイトまたは Next.js 専用エクスポートは、この NestJS Webhook パスをホストできません。

含まれるもの

Stripe Integration for NestJS の内容

  • 既存の NestJS プロジェクトへの統合
  • リポジトリ内の完全なソースコード
  • ConfigModule env、Payments モジュール、および Webhook コントローラー
  • この API に必要な PaymentIntent または Checkout セッション作成パス
  • rawBody / アダプターのメモなので、constructEvent が実際に検証します
  • ハンドオーバー前にテスト済みの NestJS Webhook とインテント フロー
  • テストからライブへの切り替えに関する引継ぎメモ
  • 引き渡し後30日間のテクニカルサポート

追加価格には含まれていません

  • Stripe アカウント、API キー、Stripe 処理手数料 - これらはお客様が所有します
  • 新しいストアフロントまたは Stripe.js UI — NestJS が API
  • NestJS から Next.js ルート ハンドラーへの書き換え
  • カスタム作業の範囲に含まれない限り、Marketplace Connect、カスタム課金製品、または In-App Purchase の代替品

Pricing

NestJS 向けの Stripe 統合の料金

この価格は NestJS プラットフォームのみに適用されます。 Next.js、Django、FastAPI、React、または Flutter のアドオン価格は使用しません。

NestJS の Stripe 統合

本番環境に対応した Stripe PaymentIntents と署名付き Webhook を既存の NestJS API に追加し、ソース コードを保持します。

前提条件

  • 既存の NestJS プロジェクト
  • Stripe Test Mode アクセス
  • 決済UIにはフロントエンドが必要です

$175

一回払い

NestJS

フロントエンドが必要ですか?

  • ソースコード一式
  • ライセンス料なし
  • 30日間サポート
  • フル統合

安全な決済:stripe

納品とセキュリティ

NestJS の配信とセキュリティの実践

NestJS の配信予定日

一般的な NestJS Stripe 統合は、NestJS 互換性チェックの後にスコープが設定されます。タイムラインは、HTTP アダプター、認証ガード、クライアントが NestJS を呼び出す方法によって異なります。

引き継ぎ前に NestJS でテスト済み

テストモードの PaymentIntents、Webhook 署名、再試行、および拒否パスは、引き渡す前に NestJS アプリに対して実行されます。

Stripe シークレットは NestJS ConfigService に残ります

秘密キーと Webhook 署名シークレットはサーバー環境に残ります。クライアントは、公開可能なキーまたは有効期間が短い client_secret のみを受け取ります。

NestJS が書き込む前の Webhook 検証

NestJS Webhook コントローラーは、注文または権利の状態を更新する前に、生の本文の Stripe 署名を検証します。

検証できない NestJS のセキュリティ主張はありません

当社は、PCI 認証、不正行為ゼロ、承認率の保証などを主張するものではありません。 NestJS は PAN を保存しません。カード データは、永続化するカスタム NestJS カード DTO ではなく、クライアント上の Stripe Checkout または Elements によって収集されます。

FAQ

よくある質問

Stripe Integration for NestJS には何が含まれますか?

NestJS 用の Stripe 統合には、公式のストライプ ノード SDK、NestJS Payments モジュール、create-PaymentIntent サービス、生の本体でconstructEvent を呼び出す Webhook コントローラー、既存のストアの注文状態の更新、Stripe テスト イベントに対するテスト、および引き継ぎメモが含まれています。プロジェクトで NestJS ソースを受け取ります。 Stripe の料金と Stripe アカウントは別のものです。

Stripe を既存の NestJS プロジェクトに統合しませんか?

はい。 Stripe Integration for NestJS は、すでにお持ちの NestJS API 用に構築されています。成果物として個別のデモ リポジトリを出荷するのではなく、モジュール、コントローラー、ConfigService 環境を現在の NestJS アプリに組み込みます。

Stripe Integration for NestJS は NestJS でカード番号を収集しますか?

いいえ。NestJS は PAN を保存してはなりません。クライアントは Stripe Checkout または Elements を使用します。 Stripe Integration for NestJS は、サーバー側の PaymentIntents、Webhook、および注文の書き込みを所有します。未加工のカード データをポストするカスタム NestJS DTO は、デフォルトのスコープ外です。

Stripe Integration for NestJS はどの Stripe パッケージを使用しますか?

Stripe Integration for NestJS は、PaymentIntents、Checkout Sessions、webhooks.constructEvent に公式のストライプ ノード ライブラリを使用します。明示的に必要な場合を除き、非公式のnestjs-ストライプラッパーを製品として作成することはありません。

Stripe Integration for NestJS が rawBody にこだわるのはなぜですか?

Stripe.webhooks.constructEvent は、Stripe が署名した正確なバイトを検証します。 Nest のデフォルトの JSON パーサーはその本文を変更します。 Stripe Integration for NestJS により、Webhook ルートで rawBody (または Fastify raw パーサー) が有効になります。 @Body() を使用すると、本番環境で NestJS 署名チェックが失敗することがわかります。

Fastify は NestJS の Stripe Integration に含まれていますか?

NestJS のデフォルトの Stripe 統合は、Nest に付属する Express アダプターを前提としています。 Fastify は、NestJS アプリがすでに FastifyAdapter で起動しており、NestJS 互換性チェック中に raw-body パスに同意する場合にのみ含まれます。

Stripe Integration for NestJS はサブスクリプションの支払いを徴収できますか?

NestJS は、PaymentIntent または Checkout セッションを作成し、Stripe 顧客 ID を保存できます。定期的な Stripe Billing 製品、顧客ポータル、請求書のロジックはサーバー上に残ります。サブスクリプションの多い NestJS 作業には、カスタム見積もりが必要になる場合があります。

Stripe 公開可能キーと秘密キーは NestJS アプリのどこに存在しますか?

NestJS プロセスは、ConfigService / 環境変数からの秘密キーと Webhook 署名秘密を使用します。クライアントは公開可能なキーのみを受け取ります。 Stripe Integration for NestJS は、DTO またはフロントエンド バンドルに秘密キーを置きません。

NestJS では Stripe テスト モードとライブ モードはどのように機能しますか?

Stripe テストキーに対して NestJS 用の Stripe Integration を実装し、最初に Webhook イベントをテストします。ライブ配信とは、Stripe ダッシュボードと NestJS 環境での文書化されたキーとエンドポイントのカットオーバーであり、アドオン ライセンスのアクティベーションではありません。

Stripe Integration for NestJS は 3-D セキュア / SCA をどのように処理しますか?

NestJS は、SCA をサポートする PaymentIntent を作成します。クライアントは、Stripe.js または Checkout を使用して 3-D セキュアを完了します。 NestJS は、ブラウザー単独のリダイレクト後ではなく、Webhook でのpayment_intent.succeeded 後にのみ実行されます。

NestJS チェックアウトには Stripe Webhook が必要ですか?

NestJS で作成された PaymentIntent または Checkout セッション後のフルフィルメントの場合ははい。クライアントへの NestJS 201 応答は真実の情報源ではありません。 Webhook コントローラーは署名を検証し、注文に支払い済みのマークを付けます。

NestJS の Stripe Integration を使用して Prisma または TypeORM を維持できますか?

はい。 Stripe Integration for NestJS は通常、Prisma、TypeORM、または MikroORM を置き換えるのではなく、既存の NestJS 注文モデルの隣にフィールドまたはシン支払いレコードを追加します。

Stripe Integration for NestJS の価格には Stripe アカウントまたは手数料が含まれますか?

いいえ。Stripe アカウント、API キー、および Stripe 処理料金を作成して所有するのはお客様です。 NestJS アドオンの価格は、Bacodo 支払いライセンスではなく、NestJS プロジェクトへの実装です。

NestJS の Stripe Integration は Next.js ルート ハンドラーと同じですか?

いいえ。NestJS はスタンドアロンのノード API です。 Next.js アプリ ルーターとルート ハンドラーは、Next.js の Stripe 統合です。この NestJS アドオン価格内では、NestJS API を Next.js に書き換えることはありません。

NestJS で Stripe のレシートとメタデータをカスタマイズできますか?

はい。 PaymentIntent または Checkout セッションのメタデータ、顧客レコード、および Webhook 確認後に保持するフィールドは、Stripe Integration for NestJS 中に既存の NestJS 注文モデルに合わせて調整されます。

Stripe ハンドオーバー後にはどのような NestJS サポートが含まれますか?

NestJS ソースはリポジトリにあるため、チームはそれを保守できます。含まれる 30 日間のサポートは、無関係な NestJS 機能の作業ではなく、提供された NestJS の Stripe Integration の範囲における技術的な質問と欠陥をカバーします。

統合後、ストライプまたは NestJS の更新はどのように処理されますか?

30 日間の期間中、文書化された Stripe API またはストライプ パッケージの変更によって引き起こされた、提供された NestJS 統合の破損をサポートします。その後の継続的な NestJS アップグレードはメンテナンス、または購入した場合は延長テクニカル サポートになります。

本番環境の NestJS アプリで Stripe の支払いが失敗した場合はどうなりますか?

PaymentIntent ステータス、Stripe Dashboard ログ、NestJS Webhook 配信を読み取る方法を文書化します。 30 日間のサポートには、配信された NestJS フローの署名の失敗 (通常は rawBody)、再試行、キーの構成ミスのトラブルシューティングが含まれます。

Stripe Integration for NestJS と互換性のある NestJS バージョンはどれですか?

NestJS と Node LTS のバージョンを、統合時に固定したストライプ リリースと照合して確認します。古いまたは大きくフォークされた NestJS ランタイムでは、追加のスコープが必要になる場合があります。

Stripe Integration for NestJS の 30 日間サポートと 6 か月延長テクニカル サポートとは何ですか?

引き渡し後の 30 日は、配信された NestJS Stripe パスに含まれます。延長テクニカル サポートはオプションで、この NestJS アドオン価格の 20% で、新しい製品のビルドではなく、同じ NestJS 統合に関するさらに 6 か月のテクニカル サポートがカバーされます。

NestJS の Stripe 統合

本番環境に対応した Stripe 決済を既存の NestJS API に追加し、ソース コードを保持して、サーバーが独自のフルフィルメントを実行できるようにします。

$175