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
必須
商品の識別子(例: ?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
通貨セレクターを表示します。
integer
決済金額を指定します(例: $10.00の場合は1000)。
boolean
割引フィールドを表示します。
string
metadata_で始まるQuery Parameterは、metadataとして渡されます。
productIdがない場合、handlerは400 responseを返します。無効なQuery Parameterの場合も400 responseになります。

Response Format

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

Response Format

Dynamic checkoutはcheckout URLを含むJSON responseを返します:
Checkout sessionsは、より安全なhosted checkout体験を提供します。one-time purchaseとsubscriptionの両方について、完全にカスタマイズ可能な決済フロー全体を処理します。詳細とサポートされているfieldの完全な一覧については、Checkout Sessions Integration Guideを参照してください。

Response Format

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

Customer Portal Route Handler

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

Query Parameters

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

Webhook Route Handler

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

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


LLM用プロンプト

最終更新日 2026年7月31日