Checkout Handler
Dodo Payments のチェックアウトを Fastify アプリに統合します。
Customer Portal
顧客がサブスクリプションや詳細を管理できるようにします。
Webhooks
Dodo Payments の webhook イベントを受信して処理します。
インストール
1
Install the package
Run the following command in your project root:
2
Set up environment variables
Create a
.env file in your project root:ルートハンドラーの例
All examples assume you are using the Fastify App Router.
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
このハンドラを使用して Dodo Payments のチェックアウトを Fastify アプリに統合します。静的 (GET)、動的 (POST)、セッション (POST) の支払いフローに対応しています。
チェックアウトルートハンドラー
Dodo Payments はウェブサイトへの支払い統合のために 3 種類の支払いフローをサポートしており、このアダプターはすべての支払いフローに対応しています。
- 静的支払いリンク: すぐに共有可能な URL で、迅速かつノーコードでの支払い収集が可能です。
- 動的支払いリンク: API または SDK を使用して、カスタム詳細を持つ支払いリンクをプログラムで生成します。
- チェックアウトセッション: 事前に設定された商品カートと顧客詳細を使用して、安全でカスタマイズ可能なチェックアウト体験を作成します。
Static Checkout (GET)
Static Checkout (GET)
Supported Query Parameters
商品識別子 (例:
?productId=pdt_nZuwz45WAs64n3l07zpQR)。商品の数量。
顧客のフルネーム。
顧客の名。
顧客の姓。
顧客のメールアドレス。
顧客の国。
顧客の住所行。
顧客の市区町村。
顧客の州/都道府県。
顧客の郵便番号。
フルネーム欄を無効化します。
名欄を無効化します。
姓欄を無効化します。
メール欄を無効化します。
国欄を無効化します。
住所欄を無効化します。
市区町村欄を無効化します。
州欄を無効化します。
郵便番号欄を無効化します。
支払い通貨を指定します (例:
USD)。通貨セレクターを表示します。
支払い額を指定します (例: $10.00 の場合
1000)。割引欄を表示します。
metadata_ で始まるクエリパラメーターはすべてメタデータとして渡されます。レスポンス形式
静的チェックアウトは、チェックアウト URL を含む JSON レスポンスを返します:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- パラメータを POST リクエストの JSON ボディとして送信します。
- 一回限りの支払いと継続課金の両方に対応しています。
- 対応する POST ボディ項目の完全な一覧については、以下を参照してください:
レスポンス形式
動的チェックアウトは、チェックアウト URL を含む JSON レスポンスを返します:Checkout Sessions (POST)
Checkout Sessions (POST)
チェックアウトセッションはより安全なホスト型チェックアウト体験を提供し、一回限りの購入とサブスクリプションの両方に対して、完全なカスタマイズ制御で支払いフロー全体を処理します。詳細とサポートされているフィールドの完全なリストについては、チェックアウトセッション統合ガイドを参照してください。
レスポンス形式
チェックアウトセッションは、チェックアウト URL を含む JSON レスポンスを返します:カスタマーポータルルートハンドラー
カスタマーポータルルートハンドラーを使用すると、Dodo Payments カスタマーポータルを Fastify アプリケーションにシームレスに統合できます。クエリパラメータ
ポータルセッションの顧客 ID (例:
?customer_id=cus_123)。true を指定すると、ポータルリンクを含むメールを顧客に送信します。Webhook ルートハンドラー
- メソッド: POST リクエストのみがサポートされています。他のメソッドは 405 を返します。
- 署名検証:
webhookKeyを使用して Webhook 署名を検証します。検証に失敗した場合は 401 を返します。 - ペイロード検証: Zod で検証されます。無効なペイロードには 400 を返します。
- エラーハンドリング:
- 401: 無効な署名
- 400: 無効なペイロード
- 500: 検証中の内部エラー
- イベントルーティング: ペイロードタイプに基づいて適切なイベントハンドラーを呼び出します。