Checkout Handler
RemixアプリにDodo Paymentsのチェックアウトを統合します。
Customer Portal
顧客がサブスクリプションや詳細を管理できるようにします。
Webhooks
Dodo PaymentsのWebhookイベントを受信・処理します。
インストール
1
Install the package
プロジェクトのルートで以下のコマンドを実行してください:
2
Set up environment variables
プロジェクトのルートに
.envファイルを作成してください:ルートハンドラーの例
すべての例はRemix App Routerを使用していることを前提としています。
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
このハンドラを使用して、RemixアプリにDodo Paymentsのチェックアウトを統合します。静的(GET)、動的(POST)、セッション(POST)の各支払いフローに対応しています。
チェックアウトルートハンドラー
Dodo Paymentsはウェブサイトへの支払い統合に3種類の支払いフローをサポートしており、このアダプターはすべての支払いフローに対応しています。
- 静的支払いリンク: すぐに共有可能なURLで、迅速かつコード不要の支払い収集が可能です。
- 動的支払いリンク: APIまたはSDKを使用してカスタム詳細を持つ支払いリンクをプログラム的に生成します。
- チェックアウトセッション: 事前に設定された商品カートと顧客詳細を持つ、安全でカスタマイズ可能なチェックアウト体験を作成します。
Static Checkout (GET)
Static Checkout (GET)
サポートされているクエリパラメータ
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 として渡されます。レスポンスフォーマット
静的チェックアウトは、チェックアウトURLを含むJSONレスポンスを返します:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- POSTリクエストのJSONボディとしてパラメータを送信します。
- 単発および定期支払いの両方に対応しています。
- サポートされているPOSTボディフィールドの完全な一覧は以下を参照してください:
Response Format
Dynamic checkout は、checkout URL を含む JSON レスポンスを返します:Checkout Sessions (POST)
Checkout Sessions (POST)
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 に設定すると、ポータルリンクを記載したメールを顧客に送信します。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 を呼び出します。