Skip to main content

Checkout Handler

SvelteKitアプリにDodo Payments checkoutを統合します。

Customer Portal

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

Webhooks

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

インストール

1

Install the package

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

Set up environment variables

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

Route Handlerの例

すべての例では、SvelteKit App Routerを使用していることを前提とします。
このhandlerを使用して、Dodo Payments checkoutをSvelteKitアプリに統合します。static(GET)、dynamic(POST)、session(POST)のpayment flowに対応しています。

Checkout Route Handler

Dodo Paymentsは、paymentをWebサイトに統合するための3種類のpayment flowに対応しており、このadaptorはすべてのpayment flowをサポートします。
  • **Static Payment Links:**すぐに共有でき、コード不要で迅速にpaymentを収集できるURL。
  • **Dynamic Payment Links:**APIまたはSDKを使用して、カスタム詳細を含むpayment linkをプログラムで生成します。
  • **Checkout Sessions:**事前設定済みの商品カートと顧客情報を使用して、安全でカスタマイズ可能なcheckout体験を作成します。

対応しているクエリパラメータ

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商品のみが対象で、商品の最低価格を下回る場合は無視されます。
boolean
割引フィールドを表示します。
string
metadata_ で始まるクエリパラメータは、メタデータとして渡されます。
productIdがない場合、handlerは400レスポンスを返します。無効なQuery Parametersの場合も400レスポンスになります。

Response Format

Static checkoutはcheckout URLを含むJSONレスポンスを返します:
Dynamic Checkout は、非推奨となった POST /payments および POST /subscriptions エンドポイントのプロキシとして機能します。既存のインテグレーションでは引き続き動作しますが、新しいインテグレーションでは以下の Checkout Sessions を使用してください。

レスポンス形式

Dynamic checkout は、チェックアウト URL を含む JSON レスポンスを返します。
Checkout sessions は、完全にカスタマイズできる安全性の高いホスト型チェックアウト体験を提供し、単発購入とサブスクリプションの両方で決済フロー全体を処理します。詳細およびサポートされているフィールドの完全な一覧については、Checkout Sessions 統合ガイドを参照してください。

レスポンス形式

Checkout sessions は、チェックアウト URL を含む JSON レスポンスを返します。

Customer Portal ルートハンドラー

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

クエリパラメーター

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

Webhook ルートハンドラー

  • Method: POST リクエストのみサポートされます。その他のメソッドには 405 を返します。
  • Signature Verification: webhookKey を使用して Webhook 署名を検証します。検証に失敗した場合は 401 を返します。
  • Payload Validation: Zod で検証されます。無効なペイロードには 400 を返します。
  • Error Handling:
    • 401: 無効な署名
    • 400: 無効なペイロード
    • 500: 検証中の内部エラー
  • Event Routing: ペイロードの種類に基づいて、適切なイベントハンドラーを呼び出します。

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


LLM 向けプロンプト

最終更新日 2026年8月21日