このチュートリアルでは、Node.js/Expressアプリケーションのサンプル実装コードを提供します。このコードは、特定のフレームワーク(Next.js、React、Vueなど)に合わせて修正し、アプリケーションのニーズに応じてユーザーインターフェースをカスタマイズできます。
- 座席ベースの価格設定を持つサブスクリプション製品を作成する
- 追加の座席用のアドオンを設定する
- カスタムアドオン数量を持つ支払いリンクを生成する
- 動的な座席数を持つチェックアウトセッションを処理する
何を作成するか
座席ベースの価格モデルを作成しましょう:- 基本プラン: 5人のチームメンバーまで月額49ドル
- 座席アドオン: 追加の座席1つにつき月額2ドル
- 支払いリンク: カスタム座席数量での動的チェックアウト
始める前に、次のものを用意してください:
- Dodo Paymentsアカウント
- TypeScript/Node.jsの基本的な知識
ステップ1: 座席アドオンを作成する
追加の座席を表すアドオンを作成する必要があります。このアドオンは基本のサブスクリプションに添付され、顧客が追加の座席を購入できるようにします。
1
アドオンに移動する
- Dodo Paymentsダッシュボードで、製品セクションに留まります
- アドオンタブをクリックします
- アドオンを作成をクリックします
2
アドオンの詳細を入力する
座席アドオンのために次の値を入力します:アドオン名:
Additional Team Seat説明: Add extra team members to your workspace with full access to all features価格: 入力 → 2.00通貨: 基本サブスクリプションの通貨と一致する必要があります税カテゴリ: 製品に適切なカテゴリを選択します。3
アドオンを保存する
- すべての設定を確認します:
- 名前: 追加チーム座席
- 価格: 月額2.00ドル
- アドオンを作成をクリックします
アドオンが作成されました! あなたの座席アドオンは、サブスクリプションに添付できるようになりました。
ステップ2: 基本サブスクリプション製品を作成する
5人のチームメンバーを含む基本サブスクリプション製品を作成します。これが座席ベースの価格モデルの基盤となります。
1
製品に移動する
- Dodo Paymentsダッシュボードにログインします
- 左のサイドバーで製品をクリックします
- 製品を作成ボタンをクリックします
- 製品タイプとしてサブスクリプションを選択します
2
サブスクリプションの詳細を入力する
基本プランの具体的な詳細を入力します:製品名:
Motion説明: Where your team's documentation lives.定期価格: 入力 → 49.00請求サイクル: 選択 → Monthly通貨: お好みの通貨を選択します(例: USD)ステップ3: アドオンをサブスクリプションに接続する
座席アドオンを基本サブスクリプションに関連付ける必要があります。これにより、顧客はチェックアウト中に追加の座席を購入できます。1
座席アドオンを添付する

- アドオンセクションまでスクロールします
- アドオンを追加をクリックします
- ドロップダウンから座席アドオンを選択します
- サブスクリプション設定に表示されていることを確認します
2
サブスクリプションの変更を保存する
- 完全なサブスクリプション設定を確認します:
- 基本プラン: 5座席まで月額49ドル
- アドオン: 追加の座席1つにつき月額2ドル
- 無料トライアル: 14日間
- 変更を保存をクリックします
座席ベースの価格設定が構成されました! 顧客は基本プランを購入し、必要に応じて追加の座席を追加できます。
ステップ4: カスタムアドオン数量で支払いリンクを生成する
次に、カスタムアドオン数量で支払いリンクを生成するExpress.jsアプリケーションを作成します。これが座席ベースの価格設定の真の力です - 追加の座席の数に応じて動的にチェックアウトセッションを作成できます。1
プロジェクトを設定する
新しいNode.jsプロジェクトを作成し、必要な依存関係をインストールします:
tsconfig.jsonファイルを作成します:2
環境ファイルを作成する
.envファイルを作成し、Dodo Payments APIキーを入力します:3
チェックアウトセッション作成の実装
次のコードを持つ
src/server.tsファイルを作成します:4
シンプルなウェブインターフェースを追加する
簡単なテスト用に
public/index.htmlファイルを作成します:ウェブインターフェースが作成されました! 異なる座席数量をテストするためのシンプルなUIがあります。
5
静的ファイルを提供する
このコードを
src/server.tsに追加して、HTMLファイルを提供します:静的ファイルが構成されました!
http://localhost:3000にアクセスして、デモインターフェースを確認してください。ステップ5: 実装をテストする
座席ベースの価格設定の実装が正しく機能するかどうかをテストしましょう。1
サーバーを起動する
- 正しいAPIキーを持つ
.envファイルを用意します - Dodo Paymentsダッシュボードから実際の値で製品およびアドオンIDをコードに更新します
- サーバーを起動します:
サーバーが正常に起動し、「サーバーがhttp://localhost:3000で実行中」と表示されるはずです。
2
ウェブインターフェースをテストする

- ブラウザを開き、
http://localhost:3000にアクセスします - 座席ベースの価格設定デモインターフェースが表示されるはずです
- 異なる座席数量(0、3、10など)を試します
- 各数量の「チェックアウトリンクを生成」をクリックします
- チェックアウトURLが正しく生成されていることを確認します
3
チェックアウトセッションをテストする
- 追加の座席3つでチェックアウトリンクを生成します
- チェックアウトURLをクリックしてDodo Paymentsのチェックアウトを開きます
- チェックアウトに次の内容が表示されることを確認します:
- 基本プラン: 月額49ドル
- 追加の座席: 3 × 2ドル = 月額6ドル
- テスト購入を完了します
チェックアウトは正しい価格の内訳を表示し、購入を完了できるようにします。
4
WebhookをリッスンしてDBを更新する
サブスクリプションや座席の変更に合わせてデータベースを同期させるために、Dodo PaymentsからのWebhookイベントをリッスンする必要があります。Webhookは、顧客がチェックアウトを完了したり、サブスクリプションを更新したり、座席数を変更したりしたときにバックエンドに通知します。Webhookエンドポイントを設定し、イベントを処理する手順については、公式のDodo Payments Webhookガイドを参照してください:
Dodo Payments Webhooks Documentation
サブスクリプションと座席管理のためのWebhookイベントを安全に受信し、処理する方法を学びます。
トラブルシューティング
一般的な問題とその解決策:チェックアウト作成の失敗
チェックアウト作成の失敗
考えられる原因:
- 無効な製品IDまたはアドオンID
- APIキーに十分な権限がない
- アドオンがサブスクリプションに正しく関連付けられていない
- ネットワーク接続の問題
- Dodo Paymentsダッシュボードで製品およびアドオンIDが存在することを確認します
- アドオンがサブスクリプションに正しく添付されていることを確認します
- APIキーにチェックアウトセッション作成の権限があることを確認します
- 簡単なGETリクエストでAPI接続をテストします
おめでとうございます!座席ベースの価格設定を実装しました
Dodo Paymentsを使用して座席ベースの価格設定システムを成功裏に作成しました!達成したことは次のとおりです:基本サブスクリプション
5座席を含むサブスクリプション製品を月額49ドルで作成しました
座席アドオン
追加の座席を月額2ドルで設定しました
チェックアウト
カスタム座席数量でチェックアウトセッションを生成するAPIを構築しました
ウェブインターフェース
異なる座席数量をテストするためのシンプルなウェブインターフェースを作成しました
この例は、座席ベースの価格設定の最小限の実装のみを示しています。本番環境で使用する場合は、堅牢なエラーハンドリング、認証、データ検証、セキュリティ対策を追加し、アプリケーションの要件に合わせてロジックを適応させる必要があります。