このチュートリアルでは、Node.js/Expressアプリケーションのサンプル実装コードを紹介します。Next.js、React、Vueなどの具体的なフレームワークに合わせてこのコードを変更し、アプリケーションの要件に応じてユーザーインターフェイスをカスタマイズできます。
- 座席ベースの価格設定を持つサブスクリプション製品を作成する
- 追加の座席用のアドオンを設定する
- カスタムアドオン数量を持つ支払いリンクを生成する
- 動的な座席数を持つチェックアウトセッションを処理する
何を作成するか
座席ベースの価格モデルを作成しましょう:- 基本プラン: 5人のチームメンバーまで月額49ドル
- 座席アドオン: 追加の座席1つにつき月額2ドル
- 支払いリンク: カスタム座席数量での動的チェックアウト
始める前に、以下を確認してください:
- Dodo Paymentsアカウント
- TypeScript/Node.jsの基本的な知識
ステップ1: 座席アドオンを作成する
追加の座席を表すアドオンを作成する必要があります。このアドオンは基本のサブスクリプションに添付され、顧客が追加の座席を購入できるようにします。
1
Navigate to Add-Ons
- Dodo PaymentsのダッシュボードでProductsセクションにとどまります
- Add-Onsタブをクリック
- Create Add-Onをクリック
2
Enter add-on details
座席アドオンには次の値を入力します:Add-On Name:
Additional Team SeatDescription:Add extra team members to your workspace with full access to all featuresPrice:→ 2.00 を入力通貨: 基本サブスクリプションの通貨と一致する必要があります税カテゴリ: 製品に適切なカテゴリを選択します。3
Save your add-on
- 設定を確認します:
- 名称:Additional Team Seat
- 価格:月額2.00ドル
- Create Add-Onをクリック
アドオンが作成されました! あなたの座席アドオンは、サブスクリプションに追加できるようになりました。
ステップ2: 基本サブスクリプション製品を作成する
5人のチームメンバーを含む基本サブスクリプション製品を作成します。これが座席ベースの価格モデルの基盤となります。
1
Navigate to Products
- Dodo Paymentsダッシュボードにログイン
- 左側のサイドバーでProductsをクリック
- Create Productボタンをクリック
- 製品タイプとしてSubscriptionを選択
2
Fill in the subscription details
ここで基本プランの詳細を入力します:Product Name:
MotionDescription:Where your team's documentation lives.Recurring Price:→ 49.00 を入力Billing Cycle:→ Monthly を選択Currency:希望する通貨を選択(例:USD)ステップ3: アドオンをサブスクリプションに接続する
座席アドオンを基本サブスクリプションに関連付ける必要があります。これにより、顧客はチェックアウト中に追加の座席を購入できます。1
Attach the seat add-on

- アドオンセクションまでスクロールします
- アドオンを追加をクリックします
- ドロップダウンから座席アドオンを選択します
- サブスクリプション設定に表示されていることを確認します
2
Save subscription changes
- サブスクリプション設定を確認します:
- 基本プラン:5席で月額49ドル
- アドオン:追加席1席あたり月額2ドル
- 無料トライアル:14日間
- Save Changesをクリック
席数ベースの価格設定が構成されました! 顧客は基本プランを購入し、必要に応じて追加席を追加できます。
ステップ4: カスタムアドオン数量で支払いリンクを生成する
次に、カスタムアドオン数量で支払いリンクを生成するExpress.jsアプリケーションを作成します。これが座席ベースの価格設定の真の力です - 追加の座席の数に応じて動的にチェックアウトセッションを作成できます。1
Set up your project
新しいNode.jsプロジェクトを作成し、必要な依存関係をインストールします:
tsconfig.json ファイルを作成:2
Create your environment file
Dodo PaymentsのAPIキーを含む
.env ファイルを作成:3
Implement the checkout session creation
以下のコードを含む
src/server.ts ファイルを作成:4
Add a simple web interface
テストを簡略化するための
public/index.html ファイルを作成:Webインターフェイスが作成されました! これで異なる座席数をテストするシンプルなUIが完成しました。
5
Serve static files
HTMLファイルを提供するために、
src/server.ts に次を追加:静的ファイルが設定されました!
http://localhost:3000 を開いてデモインターフェイスを確認してください。ステップ5: 実装をテストする
座席ベースの価格設定の実装が正しく機能するかどうかをテストしましょう。1
Start your server
- 正しいAPIキーが入った
.envファイルを用意 - 実際のDodo Paymentsダッシュボードの値で製品IDとアドオンIDをコード内に更新
- サーバーを起動:
サーバーが正常に起動し、「Server running on
http://localhost:3000」が表示されるはずです。2
Test the web interface

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