GitHub Repository
FastAPI + Dodo Payments のボイラープレートを完成させる
概要
FastAPI ボイラープレートは、Dodo Payments を Python バックエンドに統合するための生産準備が整った出発点を提供します。このテンプレートには、チェックアウトセッションの処理、Webhook の検証、カスタマーポータルの統合、非同期 API パターンが含まれており、迅速に支払いを受け入れることができます。このボイラープレートでは、非同期/await パターンの FastAPI、検証には Pydantic、シームレスな API 統合には
dodopayments Python SDK を使用しています。特徴
- クイックセットアップ - 5 分以内に始められます
- 非同期サポート - FastAPI のネイティブな非同期/待機パターンで構築
- チェックアウトセッション - Python SDK を使用した事前設定されたチェックアウトフロー
- Webhook 処理 - 署名検証付きの安全な Webhook エンドポイント
- カスタマーポータル - 簡単なカスタマーポータルセッションの作成
- 型安全性 - 完全な Pydantic 検証と型ヒント
- 環境設定 - すぐに使用できる環境変数のセットアップ
前提条件
始める前に、次のものを用意してください:- Python 3.9+(推奨:Python 3.11+)
- pip または uv パッケージ管理用
- Dodo Payments アカウント(ダッシュボードから API および Webhook キーにアクセスするため)
クイックスタート
1
Clone the Repository
2
Create Virtual Environment
独立した Python 環境をセットアップします:または、依存関係管理を高速化するために uv を使用:
3
Install Dependencies
4
Get API Credentials
Dodo Payments にサインアップし、ダッシュボードから資格情報を取得します:
- API キー: ダッシュボード → 開発者 → API キー
- Webhook キー: ダッシュボード → 開発者 → Webhooks
5
Configure Environment Variables
ルートディレクトリに Dodo Payments の認証情報で値を更新します:
.env ファイルを作成します:.env
6
Run the Development Server
利用可能なすべてのエンドポイントがテスト可能な状態で FastAPI の Swagger UI が表示されているはずです。
プロジェクト構造
API エンドポイント
ボイラープレートには、次の事前設定されたエンドポイントが含まれています:コード例
チェックアウトセッションの作成
Webhook の処理
カスタマーポータルの統合
Webhook イベント
ボイラープレートは、一般的な Webhook イベントの処理を示しています:
Webhook ハンドラー内にビジネスロジックを追加して:
- データベース内のユーザー権限を更新
- 確認メールを送信
- デジタル製品へのアクセスを提供
- 分析とメトリクスを追跡
Webhook をローカルでテスト
ローカル開発には、ngrok のようなツールを使用してローカルサーバーを公開します:デプロイメント
Docker
本番環境での考慮事項
トラブルシューティング
Import errors or missing modules
Import errors or missing modules
仮想環境がアクティブ化され、依存関係がインストールされていることを確認してください:
Checkout session creation fails
Checkout session creation fails
一般的な原因:
- 無効な商品 ID - Dodo ダッシュボードに存在することを確認してください
.envに誤った API キーまたは環境設定がある- 詳細なエラーメッセージは FastAPI のログを確認してください
Webhooks not receiving events
Webhooks not receiving events
ローカルテストには ngrok を使用してサーバーを公開します:ウェブフック URL を Dodo ダッシュボード で ngrok URL に更新し、
.env ファイルを正しいウェブフック検証キーで更新してください。Webhook signature verification fails
Webhook signature verification fails
.env内のDODO_PAYMENTS_WEBHOOK_KEYが正しく設定されていることを確認する- 署名検証には生のリクエストボディを使用していることを確認する
webhook-signatureヘッダーを正しく読み取っているか確認する
詳細を学ぶ
Python SDK
非同期対応の Python SDK ドキュメントを完成させる
Webhooks Documentation
すべてのウェブフックイベントとベストプラクティスについて学ぶ
Checkout Sessions
チェックアウトセッションの設定を詳細に掘り下げる
API Reference
Dodo Payments API ドキュメントを完成させる
サポート
ボイラープレートに関して助けが必要ですか?- 質問や議論のために Discord コミュニティ に参加してください
- 問題や更新については GitHub リポジトリ を確認してください
- 支援が必要な場合は サポートチーム にお問い合わせください