Skip to main content

Checkout Handler

RemixアプリにDodo Paymentsのチェックアウトを統合します。

Customer Portal

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

Webhooks

Dodo PaymentsのWebhookイベントを受信・処理します。

インストール

1

Install the package

プロジェクトのルートで以下のコマンドを実行してください:
2

Set up environment variables

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

ルートハンドラーの例

すべての例はRemix App Routerを使用していることを前提としています。
このハンドラを使用して、RemixアプリにDodo Paymentsのチェックアウトを統合します。静的(GET)、動的(POST)、セッション(POST)の各支払いフローに対応しています。

チェックアウトルートハンドラー

Dodo Paymentsはウェブサイトへの支払い統合に3種類の支払いフローをサポートしており、このアダプターはすべての支払いフローに対応しています。
  • 静的支払いリンク: すぐに共有可能なURLで、迅速かつコード不要の支払い収集が可能です。
  • 動的支払いリンク: APIまたはSDKを使用してカスタム詳細を持つ支払いリンクをプログラム的に生成します。
  • チェックアウトセッション: 事前に設定された商品カートと顧客詳細を持つ、安全でカスタマイズ可能なチェックアウト体験を作成します。

サポートされているクエリパラメータ

string
必須
Product identifier(例:?productId=pdt_nZuwz45WAs64n3l07zpQR)。
integer
商品の数量。
string
Customer’s full name。
string
Customer’s first name。
string
Customer’s last name。
string
Customer’s email address。
string
Customer’s country。
string
Customer’s address line。
string
Customer’s city。
string
Customer’s state/province。
string
Customer’s zip/postal code。
boolean
Disable full name field。
boolean
Disable first name field。
boolean
Disable last name field。
boolean
Disable email field。
boolean
Disable country field。
boolean
Disable address line field。
boolean
Disable city field。
boolean
Disable state field。
boolean
Disable zip code field。
string
Specify the payment currency(例:USD)。
boolean
通貨セレクターを表示します。
number
請求額を主要通貨単位で固定します(例:$12.50 の場合は 12.5)。Pay What You Want products のみが対象で、商品の最低価格を下回る場合は無視されます。
boolean
割引フィールドを表示します。
string
metadata_ で始まる query parameter は metadata として渡されます。
もしproductIdが欠落している場合、ハンドラは400レスポンスを返します。無効なクエリパラメータも400レスポンスになります。

レスポンスフォーマット

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

Response Format

Dynamic checkout は、checkout URL を含む JSON レスポンスを返します:
Checkout sessions は、ワンタイム購入とサブスクリプションの両方に対応し、決済フロー全体を処理する、より安全でホスト型の checkout エクスペリエンスを提供します。また、完全なカスタマイズ制御が可能です。詳細およびサポートされているフィールドの完全な一覧については、Checkout Sessions Integration Guide を参照してください。

Response Format

Checkout sessions は、checkout URL を含む JSON レスポンスを返します:

Customer Portal Route Handler

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

Query Parameters

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

Webhook Route Handler

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

Supported Webhook Event Handlers


Prompt for LLM

最終更新日 2026年8月21日