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)
サポートされているクエリパラメーター
製品識別子(例:
?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 のカスタマーポータルを Express アプリケーションにシームレスに統合できます。クエリパラメーター
ポータルセッション用の顧客ID(例:
?customer_id=cus_123)。trueに設定すると、ポータルリンクを記載したメールを顧客に送信します。ウェブフックルートハンドラー
- メソッド: POST リクエストのみがサポートされています。他のメソッドは 405 を返します。
- 署名検証:
webhookKeyを使用してウェブフックの署名を検証します。検証に失敗した場合は 401 を返します。 - ペイロード検証: Zod で検証されます。無効なペイロードには 400 を返します。
- エラーハンドリング:
- 401: 無効な署名
- 400: 無効なペイロード
- 500: 検証中の内部エラー
- イベントルーティング: ペイロードタイプに基づいて適切なイベントハンドラーを呼び出します。