Checkout Handler
Bun サーバーに Dodo Payments checkout を統合します。
Customer Portal
顧客がサブスクリプションと詳細情報を管理できるようにします。
Webhooks
Dodo Payments webhook イベントを受信して処理します。
インストール
1
Install the package
プロジェクトのルートで次のコマンドを実行します:
2
Set up environment variables
プロジェクトのルートに
.env ファイルを作成します:Route Handler の例
すべての例では、
Bun.serve() を使用した Bun のネイティブサーバーを前提としています。- Checkout Handler
- Customer Portal Handler
- Webhook Handler
この 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 エクスペリエンスを作成します。
Static Checkout (GET)
Static Checkout (GET)
サポートされている 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 はメタデータとして渡されます。Response Format
Static checkout は checkout URL を含む JSON response を返します:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- POST request の JSON body として parameters を送信します。
- one-time payments と recurring payments の両方をサポートします。
- サポートされている POST body fields の完全な一覧については、以下を参照してください:
Response Format
Dynamic checkout は checkout URL を含む JSON response を返します:Checkout Sessions (POST)
Checkout Sessions (POST)
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 で送信します。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 を呼び出します。