Dieses Tutorial verwendet Node.js und Express. Du kannst den Code an dein Framework (Next.js, React, Vue usw.) anpassen und die Benutzeroberfläche so gestalten, dass sie zu deiner Anwendung passt.
- Abonnementprodukte mit sitzplatzbasierter Preisgestaltung erstellen
- Add-Ons für zusätzliche Sitze einrichten
- Zahlungslinks mit benutzerdefinierten Add-On-Mengen generieren
- Checkout-Sitzungen mit dynamischen Sitzplatzanzahlen verwalten
Was wir erstellen
Lassen Sie uns ein Modell für sitzplatzbasierte Preisgestaltung erstellen:- Basistarif: $49/Monat für bis zu 5 Teammitglieder
- Sitz-Add-on: $2/Monat pro zusätzlichem Sitz
- Zahlungslinks: Dynamischer Checkout mit benutzerdefinierten Sitzmengen
Bevor wir beginnen, stelle sicher, dass du:
- Ein Dodo Payments-Konto hast
- Grundkenntnisse in TypeScript/Node.js besitzt
Schritt 1: Erstellen Sie Ihr Sitz-Add-On
Erstelle ein Add-on, das zusätzliche Sitze repräsentiert. Dieses Add-on wird an dein Basisabonnement angehängt und ermöglicht es Kunden, zusätzliche Sitze zu erwerben.
1
Navigate to Add-Ons
- Bleibe in deinem Dodo Payments-Dashboard im Bereich Products
- Klicke auf die Registerkarte Add-Ons
- Klicke auf Create Add-On
2
Enter add-on details
Fülle diese Werte für unser Sitz-Add-on aus:Add-On Name:
Additional Team SeatDescription: Add extra team members to your workspace with full access to all featuresPrice: Enter → 2.00Währung: Muss mit der Währung Ihres Basisabonnements übereinstimmenSteuerkategorie: Wählen Sie die geeignete Kategorie für Ihr Produkt aus.3
Save your add-on
- Überprüfe alle deine Einstellungen:
- Name: Zusätzlicher Teamsitz
- Preis: $2,00/Monat
- Klicke auf Add-on erstellen
Add-on erstellt! Dein Sitz-Add-on steht jetzt zur Verfügung, um an Abonnements angehängt zu werden.
Schritt 2: Erstellen Sie Ihr Basisabonnementprodukt
Erstelle ein Abonnementprodukt mit 5 enthaltenen Teammitgliedern. Dies bildet die Grundlage für dein sitzbasiertes Preismodell.
1
Navigate to Products
- Melde dich in deinem Dodo Payments-Dashboard an
- Klicke in der linken Seitenleiste auf Products
- Klicke auf die Schaltfläche Create Product
- Wähle Subscription als Produkttyp aus
2
Fill in the subscription details
Jetzt geben wir die spezifischen Details für unseren Basisplan ein:Product Name:
MotionDescription: Where your team's documentation lives.Recurring Price: Enter → 49.00Billing Cycle: Select → MonthlyCurrency: Wähle deine bevorzugte Währung (z. B. USD)Schritt 3: Verbinden Sie das Add-On mit dem Abonnement
Verknüpfe dein Sitz-Add-on mit dem Basisabonnement, damit Kunden während des Checkouts zusätzliche Sitze erwerben können.1
Attach the seat add-on

- Scrollen Sie zum Abschnitt Add-Ons
- Klicken Sie auf Add-Ons hinzufügen
- Wählen Sie aus dem Dropdown-Menü Ihr Sitz-Add-On aus
- Bestätigen Sie, dass es in Ihrer Abonnementkonfiguration angezeigt wird
2
Save subscription changes
- Überprüfen Sie Ihre vollständige Abonnementkonfiguration:
- Basistarif: $49/Monat für 5 Sitze
- Add-on: $2/Monat pro zusätzlichem Sitz
- Klicken Sie auf Änderungen speichern
Sitzbasierte Preisgestaltung konfiguriert! Kunden können jetzt deinen Basistarif erwerben und bei Bedarf zusätzliche Sitze hinzufügen.
Schritt 4: Zahlungslinks mit benutzerdefinierten Add-on-Mengen generieren
Erstelle eine Express.js-Anwendung, die Zahlungslinks mit benutzerdefinierten Add-on-Mengen generiert. So kannst du dynamisch Checkout-Sitzungen mit beliebig vielen zusätzlichen Sitzen erstellen.1
Set up your project
Erstelle ein neues Node.js-Projekt und installiere die erforderlichen Abhängigkeiten:Erstelle eine
tsconfig.json-Datei:2
Create your environment file
Erstelle eine
.env-Datei mit deinem Dodo Payments API-Schlüssel:3
Implement the checkout session creation
Erstelle eine
src/server.ts-Datei mit dem folgenden Code:4
Add a simple web interface
Erstelle eine
public/index.html-Datei für einfache Tests:Weboberfläche erstellt! Du hast jetzt eine einfache Benutzeroberfläche, um verschiedene Sitzmengen zu testen.
5
Serve static files
Füge dies zu deiner
src/server.ts hinzu, um die HTML-Datei bereitzustellen:Statische Dateien konfiguriert! Besuche
http://localhost:3000, um deine Demooberfläche zu sehen.Schritt 5: Implementierung testen
Teste nun unsere sitzbasierte Preisimplementierung, um sicherzustellen, dass alles korrekt funktioniert.1
Start your server
- Stelle sicher, dass deine
.env-Datei den korrekten API-Schlüssel enthält - Aktualisiere die Produkt- und Add-on-IDs in deinem Code mit den tatsächlichen Werten aus deinem Dodo Payments Dashboard
- Starte deinen Server:
Dein Server sollte erfolgreich starten und „Server is running on port 3000“ anzeigen.
2
Test the web interface

- Öffne deinen Browser und rufe
http://localhost:3000auf - Du solltest die Demooberfläche für die sitzbasierte Preisgestaltung sehen
- Teste verschiedene Sitzmengen (0, 3, 10 usw.)
- Klicke für jede Menge auf „Checkout-Link generieren“
- Überprüfe, ob die Checkout-URLs korrekt generiert werden
3
Test a checkout session
- Generiere einen Checkout-Link mit 3 zusätzlichen Sitzen
- Klicke auf die Checkout-URL, um den Dodo Payments Checkout zu öffnen
- Überprüfe, ob der Checkout Folgendes anzeigt:
- Basistarif: $49/Monat
- Zusätzliche Sitze: 3 × 2 Dollar = $6/Monat
- Schließe den Testkauf ab
Der Checkout sollte die korrekte Preisaufstellung anzeigen und dir ermöglichen, den Kauf abzuschließen.
4
Listen for webhooks and update your database
Halte deine Datenbank synchron mit Änderungen an Abonnements und Sitzen, indem du auf Webhook-Ereignisse von Dodo Payments reagierst. Webhooks benachrichtigen dein Backend, wenn ein Kunde den Checkout abschließt, sein Abonnement aktualisiert oder die Sitzanzahl ändert.Folge dem offiziellen Dodo Payments Webhooks-Leitfaden, um Schritt für Schritt zu erfahren, wie du Webhook-Endpunkte einrichtest und Ereignisse verarbeitest:
Dodo Payments Webhooks Documentation
Erfahre, wie du Webhook-Ereignisse für die Verwaltung von Abonnements und Sitzen sicher empfängst und verarbeitest.
Fehlerbehebung
Häufige Probleme und ihre Lösungen:Checkout creation failing
Checkout creation failing
Mögliche Ursachen:
- Ungültige Produkt-ID oder Add-on-ID
- Der API-Schlüssel verfügt nicht über ausreichende Berechtigungen
- Das Add-on ist nicht ordnungsgemäß mit dem Abonnement verknüpft
- Probleme mit der Netzwerkverbindung
- Überprüfe, ob die Produkt- und Add-on-IDs in deinem Dodo Payments Dashboard vorhanden sind
- Überprüfe, ob das Add-on korrekt an das Abonnement angehängt ist
- Stelle sicher, dass der API-Schlüssel über Berechtigungen zum Erstellen von Checkout-Sitzungen verfügt
- Teste die API-Konnektivität mit einer einfachen GET-Anfrage
Herzlichen Glückwunsch! Du hast eine sitzbasierte Preisgestaltung implementiert
Du hast erfolgreich ein sitzbasiertes Preissystem mit Dodo Payments erstellt. Folgendes hast du umgesetzt:Base Subscription
Ein Abonnementprodukt mit 5 enthaltenen Sitzen für $49/Monat erstellt
Seat Add-ons
Add-ons für zusätzliche Sitze zu $2/Monat pro Sitz konfiguriert
Checkout
Eine API erstellt, die Checkout-Sitzungen mit benutzerdefinierten Sitzmengen generiert
Web Interface
Eine einfache Weboberfläche zum Testen verschiedener Sitzmengen erstellt
Dieses Beispiel zeigt eine minimale Implementierung der sitzbasierten Preisgestaltung. Für den Produktionseinsatz solltest du Fehlerbehandlung, Authentifizierung, Datenvalidierung und Sicherheitsmaßnahmen ergänzen sowie die Logik an die Anforderungen deiner Anwendung anpassen.