メインコンテンツへスキップ

Checkout Handler

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

Customer Portal

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

Webhooks

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

インストール

1

Install the package

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

Set up environment variables

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

ルートハンドラーの例

すべての例は Hono App Router を使用していることを前提としています。
このハンドラーを使用して Hono アプリに Dodo Payments チェックアウトを統合します。静的 (GET)、動的 (POST)、セッション (POST) フローをサポートします。

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

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

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

productId
string
必須
製品識別子(例: ?productId=pdt_nZuwz45WAs64n3l07zpQR)。
quantity
integer
製品の数量。
fullName
string
顧客のフルネーム。
firstName
string
顧客の名。
lastName
string
顧客の姓。
email
string
顧客のメールアドレス。
country
string
顧客の国。
addressLine
string
顧客の住所。
city
string
顧客の市区町村。
state
string
顧客の州/都道府県。
zipCode
string
顧客の郵便番号。
disableFullName
boolean
フルネーム入力を無効にします。
disableFirstName
boolean
名入力を無効にします。
disableLastName
boolean
姓入力を無効にします。
disableEmail
boolean
メール入力を無効にします。
disableCountry
boolean
国入力を無効にします。
disableAddressLine
boolean
住所入力を無効にします。
disableCity
boolean
市区町村入力を無効にします。
disableState
boolean
州入力を無効にします。
disableZipCode
boolean
郵便番号入力を無効にします。
paymentCurrency
string
支払い通貨を指定します(例: USD)。
showCurrencySelector
boolean
通貨セレクターを表示します。
paymentAmount
integer
支払い金額を指定します(例: 1000 は $10.00)。
showDiscounts
boolean
割引フィールドを表示します。
metadata_*
string
metadata_ で始まるクエリパラメーターはメタデータとして渡されます。
productId が欠落している場合、ハンドラーは 400 応答を返します。無効なクエリパラメーターも 400 応答になります。

レスポンス形式

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

レスポンス形式

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

レスポンス形式

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

顧客ポータルルートハンドラー

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

クエリパラメーター

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

Webhookルートハンドラー

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

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


LLMへのプロンプト

最終更新日 2026年5月22日