Checkout Handler
ExpressアプリにDodo Paymentsのチェックアウトを統合します。
Customer Portal
顧客がサブスクリプションや詳細を管理できるようにします。
Webhooks
Dodo PaymentsのWebhookイベントを受信し処理します。
インストール
1
Install the package
プロジェクトのルートで次のコマンドを実行します:
2
Set up environment variables
プロジェクトのルートに
.envファイルを作成します:ルートハンドラーの例
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
このハンドラーを使用してDodo PaymentsのチェックアウトをExpressアプリに統合します。静的(GET)、動的(POST)、およびセッション(POST)の各支払いフローに対応しています。
チェックアウトルートハンドラー
Dodo Paymentsはウェブサイトへの支払い統合に3種類の支払いフローをサポートしており、このアダプターはすべての支払いフローに対応しています。
- 静的支払いリンク: すぐに共有可能な URL で、迅速かつコード不要の支払い収集が可能です。
- 動的支払いリンク: API または SDK を使用してカスタム詳細を持つ支払いリンクをプログラム的に生成します。
- チェックアウトセッション: 事前に設定された商品カートと顧客詳細を持つ、安全でカスタマイズ可能なチェックアウト体験を作成します。
Static Checkout (GET)
Static Checkout (GET)
サポートされているクエリパラメータ
string
必須
製品識別子(例:
?productId=pdt_nZuwz45WAs64n3l07zpQR)。integer
製品の数量。
string
顧客のフルネーム。
string
顧客の名。
string
顧客の姓。
string
顧客のメールアドレス。
string
顧客の国。
string
顧客の住所行。
string
顧客の市区町村。
string
顧客の州または都道府県。
string
顧客の郵便番号。
boolean
フルネームフィールドを無効にします。
boolean
名フィールドを無効にします。
boolean
姓フィールドを無効にします。
boolean
メールフィールドを無効にします。
boolean
国フィールドを無効にします。
boolean
住所行フィールドを無効にします。
boolean
市区町村フィールドを無効にします。
boolean
州フィールドを無効にします。
boolean
郵便番号フィールドを無効にします。
string
支払い通貨を指定します(例:
USD)。boolean
通貨セレクターを表示します。
number
請求額を主要通貨単位で固定します(例: $12.50 の場合は
12.5)。Pay What You Want products のみが対象で、製品の最低価格を下回る場合は無視されます。boolean
割引フィールドを表示します。
string
metadata_ で始まるクエリパラメータは、すべてメタデータとして渡されます。レスポンス形式
静的チェックアウトは、チェックアウト URL を含む JSON レスポンスを返します:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- POSTリクエストのJSONボディとしてパラメーターを送信します。
- 一回限りの支払いと定期支払いの両方に対応しています。
- サポートされているPOSTボディフィールドの完全な一覧については、以下を参照してください:
レスポンス形式
動的チェックアウトは、チェックアウト URL を含む JSON レスポンスを返します:Checkout Sessions (POST)
Checkout Sessions (POST)
チェックアウトセッションは、ワンタイム購入とサブスクリプションの両方に対して完全な支払いフローを処理し、カスタマイズ制御も可能な、より安全なホスト型チェックアウト体験を提供します。詳細とサポートされているフィールドの完全なリストについては、チェックアウトセッション統合ガイド を参照してください。
レスポンス形式
チェックアウトセッションは、チェックアウト URL を含む JSON レスポンスを返します:カスタマーポータルルートハンドラー
カスタマーポータルルートハンドラーを使用すると、Dodo Payments のカスタマーポータルを Express アプリケーションにシームレスに統合できます。クエリパラメーター
string
必須
ポータルセッション用の顧客ID(例:
?customer_id=cus_123)。boolean
trueに設定すると、ポータルリンクを記載したメールを顧客に送信します。ウェブフックルートハンドラー
- メソッド: POST リクエストのみがサポートされています。他のメソッドは 405 を返します。
- 署名検証:
webhookKeyを使用してウェブフックの署名を検証します。検証に失敗した場合は 401 を返します。 - ペイロード検証: Zod で検証されます。無効なペイロードには 400 を返します。
- エラーハンドリング:
- 401: 無効な署名
- 400: 無効なペイロード
- 500: 検証中の内部エラー
- イベントルーティング: ペイロードタイプに基づいて適切なイベントハンドラーを呼び出します。