Skip to main content

Checkout Handler

ExpressアプリにDodo Paymentsのチェックアウトを統合します。

Customer Portal

顧客がサブスクリプションや詳細を管理できるようにします。

Webhooks

Dodo PaymentsのWebhookイベントを受信し処理します。

インストール

1

Install the package

プロジェクトのルートで次のコマンドを実行します:
2

Set up environment variables

プロジェクトのルートに.envファイルを作成します:
.envファイルやシークレットをバージョン管理にコミットしないでください。

ルートハンドラーの例

このハンドラーを使用してDodo PaymentsのチェックアウトをExpressアプリに統合します。静的(GET)、動的(POST)、およびセッション(POST)の各支払いフローに対応しています。

チェックアウトルートハンドラー

Dodo Paymentsはウェブサイトへの支払い統合に3種類の支払いフローをサポートしており、このアダプターはすべての支払いフローに対応しています。
  • 静的支払いリンク: すぐに共有可能な URL で、迅速かつコード不要の支払い収集が可能です。
  • 動的支払いリンク: API または SDK を使用してカスタム詳細を持つ支払いリンクをプログラム的に生成します。
  • チェックアウトセッション: 事前に設定された商品カートと顧客詳細を持つ、安全でカスタマイズ可能なチェックアウト体験を作成します。

サポートされているクエリパラメータ

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_ で始まるクエリパラメータは、すべてメタデータとして渡されます。
productIdが欠けている場合、ハンドラーは400レスポンスを返します。無効なクエリパラメーターも400レスポンスになります。

レスポンス形式

静的チェックアウトは、チェックアウト URL を含む JSON レスポンスを返します:

レスポンス形式

動的チェックアウトは、チェックアウト URL を含む JSON レスポンスを返します:
チェックアウトセッションは、ワンタイム購入とサブスクリプションの両方に対して完全な支払いフローを処理し、カスタマイズ制御も可能な、より安全なホスト型チェックアウト体験を提供します。詳細とサポートされているフィールドの完全なリストについては、チェックアウトセッション統合ガイド を参照してください。

レスポンス形式

チェックアウトセッションは、チェックアウト URL を含む JSON レスポンスを返します:

カスタマーポータルルートハンドラー

カスタマーポータルルートハンドラーを使用すると、Dodo Payments のカスタマーポータルを Express アプリケーションにシームレスに統合できます。

クエリパラメーター

string
必須
ポータルセッション用の顧客ID(例: ?customer_id=cus_123)。
boolean
trueに設定すると、ポータルリンクを記載したメールを顧客に送信します。
customer_idが欠けている場合は400を返します。

ウェブフックルートハンドラー

  • メソッド: POST リクエストのみがサポートされています。他のメソッドは 405 を返します。
  • 署名検証: webhookKey を使用してウェブフックの署名を検証します。検証に失敗した場合は 401 を返します。
  • ペイロード検証: Zod で検証されます。無効なペイロードには 400 を返します。
  • エラーハンドリング:
    • 401: 無効な署名
    • 400: 無効なペイロード
    • 500: 検証中の内部エラー
  • イベントルーティング: ペイロードタイプに基づいて適切なイベントハンドラーを呼び出します。

サポートされているWebhookイベントハンドラー


LLM へのプロンプト

最終更新日 2026年8月6日