メインコンテンツへスキップ

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を使用してカスタム詳細を持つ支払いリンクをプログラム的に生成します。
  • チェックアウトセッション: 事前に設定された商品カートと顧客詳細を持つ、安全でカスタマイズ可能なチェックアウト体験を作成します。

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

productId
string
必須
製品識別子(例: ?productId=pdt_nZuwz45WAs64n3l07zpQR)。
quantity
integer
製品の数量。
fullName
string
顧客のフルネーム。
firstName
string
顧客の名。
lastName
string
顧客の姓。
email
string
顧客のメールアドレス。
country
string
顧客の国。
addressLine
string
顧客の住所行。
city
string
顧客の市区町村。
state
string
顧客の州/都道府県。
zipCode
string
顧客の郵便番号。
disableFullName
boolean
フルネーム欄を無効にします。
disableFirstName
boolean
名欄を無効にします。
disableLastName
boolean
姓欄を無効にします。
disableEmail
boolean
メール欄を無効にします。
disableCountry
boolean
国欄を無効にします。
disableAddressLine
boolean
住所欄を無効にします。
disableCity
boolean
市区町村欄を無効にします。
disableState
boolean
州/都道府県欄を無効にします。
disableZipCode
boolean
郵便番号欄を無効にします。
paymentCurrency
string
支払い通貨を指定します(例: USD)。
showCurrencySelector
boolean
通貨セレクターを表示します。
paymentAmount
integer
支払い金額を指定します(例: 1000は$10.00)。
showDiscounts
boolean
割引欄を表示します。
metadata_*
string
metadata_で始まるクエリパラメータはすべてメタデータとして渡されます。
もしproductIdが欠落している場合、ハンドラは400レスポンスを返します。無効なクエリパラメータも400レスポンスになります。

レスポンスフォーマット

静的チェックアウトは、チェックアウトURLを含むJSONレスポンスを返します:

レスポンスフォーマット

動的チェックアウトは、チェックアウトURLを含むJSONレスポンスを返します:
チェックアウトセッションは、単発購入とサブスクリプションの両方に対して、完全な支払いフローを処理しながら柔軟にカスタマイズ可能な、安全なホスト型チェックアウト体験を提供します。詳細とサポートされているフィールドの完全なリストについては、チェックアウトセッション統合ガイドを参照してください。

レスポンスフォーマット

チェックアウトセッションは、チェックアウトURLを含むJSONレスポンスを返します:

顧客ポータルルートハンドラー

顧客ポータルルートハンドラーを使用すると、Dodo Paymentsの顧客ポータルをあなたのRemixアプリケーションにシームレスに統合できます。

クエリパラメータ

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

ウェブフックルートハンドラー

  • メソッド: POSTリクエストのみがサポートされています。他のメソッドは405を返します。
  • 署名検証: webhookKeyを使用してウェブフック署名を検証します。検証に失敗した場合は401を返します。
  • ペイロード検証: Zodで検証されます。無効なペイロードには400を返します。
  • エラーハンドリング:
    • 401: 無効な署名
    • 400: 無効なペイロード
    • 500: 検証中の内部エラー
  • イベントルーティング: ペイロードタイプに基づいて適切なイベントハンドラーを呼び出します。

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


LLMへのプロンプト

最終更新日 2026年5月22日