BacodoBACODO

FastAPI アドオン

FastAPI の Stripe 統合

公式のストライプ Python SDK、APIRouter、および await request.body() でストライプ署名を検証する Webhook を追加します。 FastAPI は API です。これは Django や DRF ではなく、カードを収集しません。

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

〜から

$229

USD · FastAPI

デモを見る

FastAPI の Stripe 統合 · FastAPI

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

Requirements

What FastAPI の Stripe 統合 needs

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

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

できること

FastAPI アプリのストライプ — ルートはカード形式ではありません

Bacodo は、Stripe を既存の FastAPI プロジェクトに統合します。ハンドオーバー後、ルーター、依存関係、設定はリポジトリ内に残ります。 Stripe アカウント、API キー、および Stripe 料金は引き続き所有されます。 FastAPI は PAN を保存しません。

解決する問題

本番の FastAPI ストライプ パスには、公式ストライプ パッケージ、依存関係またはサービスでの PaymentIntent の作成、および生のリクエスト バイトでのconstruct_event が必要です。最初に request.json() を待機すると、署名チェックは失敗します。これは、FastAPI Webhook のよくあるバグです。

プロジェクトに落とし込むまでの経緯

APIRouter、pydantic-settings (または既存の設定)、Pydantic リクエスト モデルを備えた create-intent エンドポイント、および await request.body() を使用する Webhook を追加します。注文の書き込みは、Django ORM ではなく、SQLAlchemy、既存のリポジトリ、または FastAPI アプリがすでに使用しているストアを経由します。

開発時間を節約できる理由

あなたのチームは、最初の実動 FastAPI Stripe 実装 (生の本体 Webhook、冪等イベント処理、SCA 対応 PaymentIntents、テストからライブへのキーを文書化するハンドオーバー) をスキップします。

誰のためのものなのか

すでに FastAPI を実行している Python バックエンド エンジニアおよび代理店。 API が Django の場合、つまり、Stripe Integration for Django の場合、urls.py を FastAPI アプリに貼り付けません。

主な機能

FastAPI の Stripe 統合に含まれるもの

FastAPI ルーターの背後にある公式ストライプ SDK

FastAPI 依存関係またはサービスからストライプ Python ライブラリを使用して PaymentIntent を作成します。秘密キーは設定 / env から取得されます。クライアントが投稿した Pydantic モデルから取得されることはありません。

Webhook は request.json() ではなく request.body() を使用します。

Stripe.Webhook.construct_event には、Stripe が署名した正確なバイトが必要です。 FastAPI ルートは await request.body() と Stripe-Signature ヘッダーを読み取ります。最初に JSON を解析すると、実稼働環境で FastAPI Stripe 統合が失敗します。

Payment_intent.succeeded 後の FastAPI 注文状態

フルフィルメントは、サンキューページの後ではなく、construct_even が成功した後に FastAPI ハンドラーで実行されます。既存の注文または権利記録を更新します。

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

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

冪等な FastAPI Webhook の処理

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

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

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

用途

FastAPI の Stripe 統合が合うとき

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

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

FastAPI クライアント API を実稼働環境に引き渡す代理店

FastAPI の保守可能な Stripe ルーター、クライアント リポジトリのソース、および main.py の隣にある 1 回限りのスクリプトの代わりに文書化されたライブキー カットオーバーが必要です。

FastAPI アプリを通じて請求される SaaS

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

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

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

デモ

FastAPI Stripe Webhook パスのプレビュー

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

仕組み

Stripe Integration for FastAPI の提供方法

標準の Bacodo アドオン ワークフロー。uvicorn、pydantic 設定、非同期と同期のストライプ呼び出し、およびルートが既に使用しているストアに対する FastAPI 固有のチェックを備えています。

  1. 01

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

    FastAPI の Stripe 統合と、FastAPI アプリで 1 日目が PaymentIntents、Checkout Sessions、またはその両方であるかどうかを確認します。

  2. 02

    FastAPI互換性チェック

    FastAPI / Python のバージョン、pydantic v2、既存の注文の永続性 (SQLAlchemy またはその他)、認証の依存関係、および Stripe アカウントを既に持っているかどうかを確認します。

  3. 03

    FastAPI への統合

    ストライプ パッケージ、APIRouter、create-intent エンドポイント、および await request.body() で署名を検証する Webhook を追加します。

  4. 04

    FastAPI アプリを構成する

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

  5. 05

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

    FastAPI Webhook に対して Stripe CLI またはダッシュボード テスト イベントを実行し、さらに、作成インテントおよび拒否パスを実行します。 request.json() が期待どおりに署名に失敗することを確認します。

  6. 06

    FastAPI ソースを引き渡す

    FastAPI ソース、環境ノート、ライブキー チェックリストを提供します。 FastAPI の実装はお客様が保守します。

アーキテクチャ

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

FastAPI プロセスは秘密キーを保持します。クライアントは、FastAPI ルートに PaymentIntent の作成を要求します。 Stripe は Webhook で FastAPI を通知します。 FastAPI は request.body() の署名を検証し、注文状態を書き込みます。

クライアントアプリFastAPIルーターストライプPython SDKStripe PaymentIntentsWebhook → request.body()あなたのストア / SQLAlchemy

対応技術

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

Python 上の FastAPI

ストライプ SDK が受け入れる Python バージョンの現在の FastAPI。通常は uvicorn で提供されます。これは Django や Flask ではありません。urls.py や Flask ブループリントは追加しません。

公式ストライプ Python ライブラリ

PaymentIntents、チェックアウト セッション、および Webhook.construct_event。非同期ルートからの同期呼び出しは、正確にスコープ設定されます (スレッドプールまたは StripeClient 非同期)。非同期定義内でブロック ストライプが解放されているようには見せません。

FastAPI の永続性

注文または資格の更新は、SQLAlchemy、別のストア、または既存のリポジトリに残ります。このアドオンは Django モデルを作成しません。

FastAPI アプリの Stripe アカウント

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

必要な FastAPI ホスティング

uvicorn (または同等のもの) を実行し、Stripe から HTTPS POST を受信できるホスト。静的専用サイトは、この FastAPI Webhook パスをホストできません。

含まれるもの

Stripe Integration for FastAPI の内容

  • 既存の FastAPI プロジェクトへの統合
  • リポジトリ内の完全なソースコード
  • 設定、APIRouter、Webhook ルート
  • この API に必要な PaymentIntent または Checkout セッション作成パス
  • request.body() は、construct_even が実際に検証するように注意します
  • ハンドオーバー前に FastAPI Webhook とインテント フローをテストしました
  • テストからライブへの切り替えに関する引継ぎメモ
  • 引き渡し後30日間のテクニカルサポート

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

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

Pricing

FastAPI 向けの Stripe 統合の価格設定

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

FastAPI の Stripe 統合

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

前提条件

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

$229

一回払い

FastAPI

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

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

安全な決済:stripe

納品とセキュリティ

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

FastAPI の推定配信予定数

一般的な FastAPI Stripe 統合は、FastAPI 互換性チェックの後にスコープが設定されます。タイムラインは、永続化レイヤーとクライアントが FastAPI を呼び出す方法によって異なります。

ハンドオーバー前に FastAPI でテスト済み

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

Stripe シークレットは FastAPI 設定に残ります

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

FastAPI 書き込み前の Webhook 検証

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

検証できない FastAPI のセキュリティに関する主張はありません

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

FAQ

よくある質問

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

FastAPI 用の Stripe 統合には、公式のストライプ Python SDK、FastAPI APIRouter、create-PaymentIntent エンドポイント、await request.body() でconstruct_event を呼び出す Webhook、既存のストアの注文状態の更新、Stripe テスト イベントに対するテスト、およびハンドオーバー メモが含まれています。プロジェクトで FastAPI ソースを受け取ります。 Stripe の料金と Stripe アカウントは別のものです。

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

はい。 Stripe Integration for FastAPI は、すでにお持ちの FastAPI アプリ用に構築されています。成果物として個別のデモ アプリを出荷するのではなく、ルーター、依存関係、設定を現在の FastAPI プロジェクトに組み込みます。

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

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

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

Stripe Integration for FastAPI は、PaymentIntents、Checkout Sessions、および Webhook.construct_event に公式のストライプ Python ライブラリを使用します。明示的に必要でない限り、文書化されていないプラグインに FastAPI 支払いをラップすることはありません。

Stripe Integration for FastAPI が request.body() を要求するのはなぜですか?

Stripe.Webhook.construct_event は、Stripe が署名した正確なバイトを検証します。 await request.json() はその本文を解析して変更します。 Stripe Integration for FastAPI は、Webhook ルートで await request.body() を読み取ります。これをスキップすると、FastAPI の署名チェックが通常失敗します。

FastAPI の Stripe Integration は Django と同じですか?

いいえ。FastAPI は APIRouter、Depends、および pydantic-settings を使用します。 Django ビュー、urls.py、および Django ORM は、Django の Stripe Integration です。 Django パターンを FastAPI アプリに貼り付けることはありません。

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

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

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

FastAPI プロセスは、設定 / 環境変数からの秘密キーと Webhook 署名秘密を使用します。クライアントは公開可能なキーのみを受け取ります。 Stripe Integration for FastAPI は、Pydantic リクエスト モデルに秘密キーを置きません。

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

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

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

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

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

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

FastAPI 用の Stripe Integration を使用して SQLAlchemy を維持できますか?

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

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

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

Stripe Integration for FastAPI は、同期ストライプ呼び出しによるイベント ループをブロックしますか?

FastAPI 互換性チェック中に、これを正直に調査します。 async def 内のブロッキングストライプ呼び出しはスレッドプールに移動されるか、固定ストライプリリースがサポートする Stripe の非同期クライアントを使用します。非同期 FastAPI ルートでは同期ストライプが空いているようには見せません。

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

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

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

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

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

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

実稼働 FastAPI アプリで Stripe 支払いが失敗した場合はどうなりますか?

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

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

FastAPI、Python、pydantic v2 のバージョンを、統合時に固定したストライプ リリースと照合して確認します。古いまたは頻繁にフォークされた FastAPI ランタイムには追加のスコープが必要な場合があります。

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

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

FastAPI の Stripe 統合

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

$229