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)
サポートされている Query Parameters
string
必須
Product identifier(例:
?productId=pdt_nZuwz45WAs64n3l07zpQR)。integer
商品の数量。
string
Customer のフルネーム。
string
Customer の名。
string
Customer の姓。
string
Customer のメールアドレス。
string
Customer の国。
string
Customer の住所欄。
string
Customer の市区町村。
string
Customer の州/都道府県。
string
Customer の郵便番号。
boolean
フルネーム欄を無効にします。
boolean
名の欄を無効にします。
boolean
姓の欄を無効にします。
boolean
メール欄を無効にします。
boolean
国の欄を無効にします。
boolean
住所欄を無効にします。
boolean
市区町村の欄を無効にします。
boolean
州の欄を無効にします。
boolean
郵便番号欄を無効にします。
string
決済通貨を指定します(例:
USD)。boolean
通貨セレクターを表示します。
number
請求額を主要通貨単位で固定します(例:$12.50 の場合は
12.5)。Pay What You Want 商品でのみ使用され、商品の最低価格を下回る場合は無視されます。boolean
割引欄を表示します。
string
metadata_ で始まる Query Parameter はすべてメタデータとして渡されます。レスポンス形式
静的チェックアウトは、チェックアウト URL を含む JSON レスポンスを返します:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- パラメータを POST リクエストの JSON ボディとして送信します。
- 一回限りの支払いと継続課金の両方に対応しています。
- 対応する POST ボディ項目の完全な一覧については、以下を参照してください:
レスポンス形式
動的チェックアウトは、チェックアウト URL を含む JSON レスポンスを返します:Checkout Sessions (POST)
Checkout Sessions (POST)
チェックアウトセッションはより安全なホスト型チェックアウト体験を提供し、一回限りの購入とサブスクリプションの両方に対して、完全なカスタマイズ制御で支払いフロー全体を処理します。詳細とサポートされているフィールドの完全なリストについては、チェックアウトセッション統合ガイドを参照してください。
レスポンス形式
チェックアウトセッションは、チェックアウト URL を含む JSON レスポンスを返します:カスタマーポータルルートハンドラー
カスタマーポータルルートハンドラーを使用すると、Dodo Payments カスタマーポータルを Fastify アプリケーションにシームレスに統合できます。クエリパラメータ
string
必須
ポータルセッションの顧客 ID (例:
?customer_id=cus_123)。boolean
true を指定すると、ポータルリンクを含むメールを顧客に送信します。Webhook ルートハンドラー
- メソッド: POST リクエストのみがサポートされています。他のメソッドは 405 を返します。
- 署名検証:
webhookKeyを使用して Webhook 署名を検証します。検証に失敗した場合は 401 を返します。 - ペイロード検証: Zod で検証されます。無効なペイロードには 400 を返します。
- エラーハンドリング:
- 401: 無効な署名
- 400: 無効なペイロード
- 500: 検証中の内部エラー
- イベントルーティング: ペイロードタイプに基づいて適切なイベントハンドラーを呼び出します。