Skip to main content

Checkout Handler

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

Customer Portal

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

Webhooks

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

インストール

1

Install the package

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

Set up environment variables

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

Route Handlerの例

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

Checkout Route Handler

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

サポートされている Query Parameters

string
必須
Product identifier(例:?productId=pdt_nZuwz45WAs64n3l07zpQR)。
integer
商品の数量。
string
Customer の氏名。
string
Customer の名。
string
Customer の姓。
string
Customer のメールアドレス。
string
Customer の国。
string
Customer の住所行。
string
Customer の市区町村。
string
Customer の州/都道府県。
string
Customer の ZIP/郵便番号。
boolean
氏名フィールドを無効にします。
boolean
名フィールドを無効にします。
boolean
姓フィールドを無効にします。
boolean
メールフィールドを無効にします。
boolean
国フィールドを無効にします。
boolean
住所行フィールドを無効にします。
boolean
市区町村フィールドを無効にします。
boolean
州フィールドを無効にします。
boolean
ZIP コードフィールドを無効にします。
string
決済通貨を指定します(例:USD)。
boolean
通貨セレクターを表示します。
number
請求額を主要通貨単位で固定します(例:$12.50 の場合は 12.5)。Pay What You Want products のみが対象で、商品最低価格を下回る場合は無視されます。
boolean
割引フィールドを表示します。
string
metadata_ で始まる Query Parameter は、metadata として渡されます。
productIdがない場合、handlerは400 responseを返します。無効なQuery Parameterの場合も400 responseになります。

Response Format

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

レスポンス形式

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

レスポンス形式

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

Customer Portal Route Handler

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

クエリパラメータ

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

Webhook Route Handler

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

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


LLM用プロンプト

最終更新日 2026年8月21日