Skip to main content

Checkout Handler

Bun サーバーに Dodo Payments checkout を統合します。

Customer Portal

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

Webhooks

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

インストール

1

Install the package

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

Set up environment variables

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

Route Handler の例

すべての例では、Bun.serve() を使用した Bun のネイティブサーバーを前提としています。
この handler を使用して、Bun サーバーに Dodo Payments checkout を統合します。static (GET)、dynamic (POST)、session (POST) の支払いフローに対応しています。

Checkout Route Handler

Dodo Payments は、Web サイトに決済を統合するための3種類の支払いフローに対応しており、この adaptor はすべての支払いフローをサポートします。
  • Static Payment Links: すぐに共有でき、コード不要で迅速に支払いを受け付けられる URL。
  • Dynamic Payment Links: API または SDKs を使用して、カスタム詳細を含む payment links をプログラムで生成します。
  • Checkout Sessions: 事前設定された product carts と customer details を使用して、安全でカスタマイズ可能な checkout エクスペリエンスを作成します。

サポートされている Query Parameters

string
必須
商品の識別子(例: ?productId=pdt_xxx)。
integer
商品の数量。
string
顧客のフルネーム。
string
顧客の名。
string
顧客の姓。
string
顧客のメールアドレス。
string
顧客の国。
string
顧客の住所行。
string
顧客の市区町村。
string
顧客の州/都道府県。
string
顧客の郵便番号。
boolean
フルネームフィールドを無効にします。
boolean
名フィールドを無効にします。
boolean
姓フィールドを無効にします。
boolean
メールフィールドを無効にします。
boolean
国フィールドを無効にします。
boolean
住所行フィールドを無効にします。
boolean
市区町村フィールドを無効にします。
boolean
州フィールドを無効にします。
boolean
郵便番号フィールドを無効にします。
string
支払い通貨を指定します(例: USD)。
boolean
通貨セレクターを表示します。
boolean
請求額を主要通貨単位で固定します(例: $12.50 の場合は 12.5)。Pay What You Want 商品専用で、商品の最低価格を下回る場合は無視されます。
boolean
割引フィールドを表示します。
string
metadata_ で始まる Query Parameter はメタデータとして渡されます。
productId がない場合、handler は 400 response を返します。無効な query parameters の場合も 400 response になります。

Response Format

Static checkout は checkout URL を含む JSON response を返します:

Response Format

Dynamic checkout は checkout URL を含む JSON response を返します:
Checkout sessions は、より安全な hosted checkout エクスペリエンスを提供します。one-time purchases と subscriptions の両方について、完全な支払いフローを処理し、詳細なカスタマイズ制御が可能です。詳細およびサポートされている fields の完全な一覧については、Checkout Sessions Integration Guide を参照してください。

Response Format

Checkout sessions は checkout URL を含む JSON response を返します:

Customer Portal Route Handler

Customer Portal Route Handler を使用すると、Bun サーバーアプリケーションに Dodo Payments customer portal をシームレスに統合できます。

Query Parameters

string
必須
portal session の customer ID (例: ?customer_id=cus_123)。
boolean
true に設定すると、customer portal の link を顧客に email で送信します。
customer_id がない場合は 400 を返します。

Webhook Route Handler

  • Method: POST requests のみサポートされます。その他の methods には 405 を返します。
  • Signature Verification: webhookKey を使用して webhook signature を検証します。検証に失敗した場合は 401 を返します。
  • Payload Validation: Zod で検証します。無効な payload には 400 を返します。
  • Error Handling:
    • 401: Invalid signature
    • 400: Invalid payload
    • 500: 検証中の Internal error
  • Event Routing: payload type に基づいて適切な event handler を呼び出します。

サポートされている Webhook Event Handlers


LLM 用プロンプト

最終更新日 2026年8月6日