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)
サポートされているクエリパラメータ
製品識別子(例:
?productId=pdt_nZuwz45WAs64n3l07zpQR)。製品の数量。
顧客のフルネーム。
顧客の名。
顧客の姓。
顧客のメールアドレス。
顧客の国。
顧客の住所行。
顧客の市区町村。
顧客の州/都道府県。
顧客の郵便番号。
フルネーム欄を無効にします。
名欄を無効にします。
姓欄を無効にします。
メール欄を無効にします。
国欄を無効にします。
住所欄を無効にします。
市区町村欄を無効にします。
州/都道府県欄を無効にします。
郵便番号欄を無効にします。
支払い通貨を指定します(例:
USD)。通貨セレクターを表示します。
支払い金額を指定します(例:
1000は$10.00)。割引欄を表示します。
metadata_で始まるクエリパラメータはすべてメタデータとして渡されます。レスポンスフォーマット
静的チェックアウトは、チェックアウトURLを含むJSONレスポンスを返します:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- POSTリクエストのJSONボディとしてパラメータを送信します。
- 単発および定期支払いの両方に対応しています。
- サポートされているPOSTボディフィールドの完全な一覧は以下を参照してください:
レスポンスフォーマット
動的チェックアウトは、チェックアウトURLを含むJSONレスポンスを返します:Checkout Sessions (POST)
Checkout Sessions (POST)
チェックアウトセッションは、単発購入とサブスクリプションの両方に対して、完全な支払いフローを処理しながら柔軟にカスタマイズ可能な、安全なホスト型チェックアウト体験を提供します。詳細とサポートされているフィールドの完全なリストについては、チェックアウトセッション統合ガイドを参照してください。
レスポンスフォーマット
チェックアウトセッションは、チェックアウトURLを含むJSONレスポンスを返します:顧客ポータルルートハンドラー
顧客ポータルルートハンドラーを使用すると、Dodo Paymentsの顧客ポータルをあなたのRemixアプリケーションにシームレスに統合できます。クエリパラメータ
ポータルセッション用の顧客ID(例:
?customer_id=cus_123)。trueに設定すると、ポータルリンクを記載したメールが顧客に送信されます。ウェブフックルートハンドラー
- メソッド: POSTリクエストのみがサポートされています。他のメソッドは405を返します。
- 署名検証:
webhookKeyを使用してウェブフック署名を検証します。検証に失敗した場合は401を返します。 - ペイロード検証: Zodで検証されます。無効なペイロードには400を返します。
- エラーハンドリング:
- 401: 無効な署名
- 400: 無効なペイロード
- 500: 検証中の内部エラー
- イベントルーティング: ペイロードタイプに基づいて適切なイベントハンドラーを呼び出します。