
Checkout Sessions
Wenden Sie während des gehosteten Checkouts mit
discount_codes einen oder mehrere gestapelte Codes an und nutzen Sie die UI-Steuerungen.Validate Discount
Prüfen Sie, ob ein Rabatt über seine ID gültig ist.
Get Discount by Code
Suchen und validieren Sie einen Rabatt über seinen Code-Namen (z. B. „SAVE20“).
Create Discount (API)
Erstellen Sie programmatisch neue Rabattcodes.
List & Update Discounts
Durchsuchen und verwalten Sie bestehende Rabatte; aktualisieren oder löschen Sie diese bei Bedarf.
Plan Change Discounts
Wenden Sie Rabattcodes beim Upgraden oder Downgraden von Abonnementplänen an.
Was sind Rabattcodes?
Rabattcodes sind Promotionstoken, die die Bestellsumme an der Kasse reduzieren. Sie eignen sich ideal für:- Saisonale Kampagnen: Black Friday, Produkteinführungen oder Jubiläen
- Akquisitionsangebote: Anreize für Ersterwerb oder Empfehlungsbelohnungen
- Bindung: Rückgewinnungs- oder Treuebelohnungen für bestehende Kunden
- B2B-Deals: Vereinbarte oder ausgehandelte Preise über private Codes
Hauptvorteile
- Flexible Rabatte: Prozentbasierte oder feste Rabatte
- Kombinierbare Codes: Wende bis zu 20 Codes pro Checkout, Zahlung oder Abonnement an — kombiniere Kampagnen (z. B.
WELCOME10+BLACKFRIDAY20), ohne individuelle Codes erstellen zu müssen - Gezielte Kontrolle: Beschränke die Verwendung nach Produkt, Abonnementzyklen und Kundenberechtigung
- Kampagnenverwaltung: Geplante Startdaten, Ablaufdaten sowie allgemeine und kundenbezogene Nutzungslimits
- Preise je Währung: Lege den festen Abzugsbetrag, das Betragslimit und den Mindestzwischensumme je Währung fest
- Nahtloser Checkout: UI-Feld und API-Unterstützung über Checkout Sessions
Rabattcodes erstellen
Erstellen Sie Rabattcodes in Ihrem Dodo Payments-Dashboard und wenden Sie diese im gehosteten Checkout oder über API an.
Dashboard-Einrichtung
- Discount Name (erforderlich): Interner Name und im Dashboard angezeigter Name
- Code (erforderlich): Die Zeichenfolge, die Kunden beim Checkout eingeben, oder generiere über die bereitgestellte Schaltfläche einen zufälligen Code
- Type (erforderlich): Wähle Percentage (prozentualer Rabatt) oder Amount (fester Abzug)
- Amount (erforderlich): Der Prozentwert oder der feste Betrag für einen Amount-Rabatt
- Start Date (optional): Plane die Aktivierung des Codes für einen späteren Zeitpunkt; lasse das Feld leer, um ihn sofort zu aktivieren
- Expiration Date (optional): Datum, nach dem der Code ungültig wird
- Usage Limit (optional): Maximale Gesamtzahl der Einlösungen über alle Kunden hinweg
- Per-Customer Usage Limit (optional): Maximale Anzahl der Einlösungen durch einen einzelnen Kunden. Wenn beide Limits festgelegt sind, muss dieses kleiner oder gleich dem allgemeinen Nutzungslimit sein
- Customer Eligibility (optional): Beschränke, wer den Code einlösen darf — alle Kunden, Erstkunden, bestehende Kunden oder eine manuell ausgewählte Liste
- Currency Options (optional): Werte je Währung — siehe Optionen je Währung
- Product Restriction (optional): Beschränke die Gültigkeit auf ausgewählte Produkte
- Subscription Cycle Limit (optional): Anzahl der Abrechnungszyklen, für die der Rabatt gilt
- Preserve on Plan Change (optional): Rabatt aktiv halten, wenn sich der Plan des Abonnements ändert (
preserve_on_plan_change) - Metadata (optional): Füge benutzerdefinierte Schlüssel-Wert-Paare für internes Tracking oder Integrationen hinzu



Ein prozentualer
amount wird über die API in Basispunkten angegeben — 1500 entspricht 15 %. Ein fester amount ist ein Geldwert und wird durch die Währungsoptionen des Codes denominiert.Rabattarten
Beide Typen können im selben
discount_codes-Array kombiniert werden und werden in der Reihenfolge des Arrays angewendet.

Kundenberechtigung
Legecustomer_eligibility fest, um zu steuern, wer einen Code einlösen darf:

Optionen je Währung
Mit Währungsoptionen kann sich ein Code über alle von dir angebotenen Währungen hinweg korrekt verhalten. Jeder Eintrag legt für eine einzelne Währung Folgendes fest:- Amount — Bei einem Amount-Rabatt ist dies der Abzug selbst; bei einem Percentage-Rabatt begrenzt er den maximalen Abzugsbetrag des Codes. Wird über die API auf
max_amount_possibleabgebildet. - Minimum subtotal — Der Code gilt nur, wenn der Warenkorb diese Zwischensumme erreicht.
0bedeutet, dass kein Mindestbetrag gilt. - Default — Ein Eintrag kann als Standard markiert werden, aus dem andere, nicht konfigurierte Währungen umgerechnet werden.

Die Mindestzwischensumme wird immer anhand der ursprünglichen Preise des Warenkorbs berechnet, niemals anhand der Zwischensumme während der Anwendung einer Rabattkette. Die Reihenfolge der Rabatte ändert daher nie, ob ein Mindestbetrag erreicht ist.
Checkout-Erlebnis
- Käufer geben den Code in das Checkout-Feld ein.
- Berechtigte Rabatte werden angewendet und die Summen sofort aktualisiert.

Übergib in Checkout Sessions
discount_codes (ein Array), um einen oder mehrere Codes vorab anzuwenden, und setze feature_flags.allow_discount_code, um das Eingabefeld anzuzeigen. Codes werden in der Reihenfolge des Arrays angewendet, bis zu einem Maximum von 20.Rabattcodes kombinieren
Checkout Sessions, Zahlungen und Abonnements akzeptieren über dasdiscount_codes-Array bis zu 20 kombinierte Codes (maximal 20 Einträge). Codes werden in der Reihenfolge des Arrays angewendet: Der erste berechtigte Code reduziert zuerst den Basispreis, der nächste Code reduziert den bereits rabattierten Preis usw. Die vollständige Liste der angewendeten Rabatte wird in der Antwort unter discount_ids (bei Zahlungen/Abonnements) und discounts (detailliertere Angaben je Rabatt, einschließlich Position und verbleibender Abonnementzyklen) zurückgegeben.
Das einzelne Feld
discount_code ist veraltet, wird aus Gründen der Abwärtskompatibilität aber weiterhin vollständig unterstützt — bestehende Integrationen funktionieren ohne Änderungen. Es kann nicht zusammen mit discount_codes in derselben Anfrage verwendet werden. Wir empfehlen, bei Gelegenheit auf discount_codes (die Array-Form) zu migrieren, auch bei einzelnen Codes, um von der Kombination mehrerer Codes und der umfangreicheren Antwortstruktur zu profitieren.API-Verwaltung
Create discounts
Create discounts
Erstelle Rabattcodes programmgesteuert mit Typ und Betrag.
API Reference
Siehe die API zum Erstellen von Rabatten.
List and retrieve
List and retrieve
Liste alle Rabatte auf oder rufe Details für Verwaltung und Auditing ab.
API Reference
Durchsuche die APIs zum Auflisten und Abrufen.
Get discount by code
Get discount by code
Suche einen Rabatt anhand seines lesbaren Codes (z. B. “SAVE20”) statt anhand der internen ID.
API Reference
Rufe einen Rabatt anhand des Codenamens ab.
Update discounts
Update discounts
Ändere die Rabattkonfiguration, etwa Betrag, Ablaufdatum oder Einschränkungen.
API Reference
Erfahre, wie du Rabattdetails aktualisierst.
Validate discounts
Validate discounts
Prüfe vor der Anwendung, ob ein Rabatt gültig und anwendbar ist.
API Reference
Validiere die Rabattnutzung.
Delete discounts
Delete discounts
Deaktiviere oder entferne nicht mehr benötigte Rabatte.
API Reference
Lösche einen Rabatt.
Manage the customer allow list
Manage the customer allow list
Verwalte bei einem Rabatt mit
customer_eligibility auf specific die Kunden, die ihn einlösen dürfen:GET /discounts/{discount_id}/customers— Liste der hinzugefügten Kunden (seitenweise, bis zu 100 pro Seite).POST /discounts/{discount_id}/customers— Kunden anhand ihrer ID hinzufügen. Der Aufruf ist idempotent und akzeptiert bis zu 1000 IDs, die alle bereits in deinem Unternehmen vorhanden sein müssen. Die Antwort enthält nur die in dieser Anfrage übermittelten IDs. Verwende daher den Listen-Endpunkt, um die vollständige Allowlist abzurufen.DELETE /discounts/{discount_id}/customers/{customer_id}— Einen einzelnen Kunden entfernen.
Häufige Anwendungsfälle
- Einführungsangebote: Zeitlich begrenzte Launch-Aktionen für neue Produkte
- Großkunden oder B2B: Vertraglich vereinbarte Rabatte für ausgewählte Produktgruppen
- Kundenbindung: Rückgewinnungscodes in Abläufen zur Vermeidung von Abwanderung
- Saisonale Kampagnen: Feiertags- oder veranstaltungsbezogene Aktionen
Integrationsbeispiele
Einen Rabatt mit Metadaten erstellen
Füge benutzerdefinierte Schlüssel-Wert-Paare für internes Tracking hinzu.Rabatte in Checkout Sessions anwenden
Wende einen oder mehrere kombinierte Rabatte vorab an und zeige die Codeeingabe-UI an.Rabatte bei Planänderungen anwenden
Biete Aktionspreise an, wenn Kunden ihr Abonnement upgraden oder downgraden.Lese alle angewendeten Rabatte über das neue
discounts-Array in der Abonnementantwort aus dem Abonnement aus. Jeder Eintrag enthält discount_id, position, cycles_remaining (für Abonnements) und den ursprünglichen Code.Rabatteingabe ohne vorherige Anwendung aktivieren
Erlaube Kunden, beim Checkout einen Code einzugeben, ohne zuvor einen Code zu übergeben.Best Practices
- Klar benennen: Verwende erkennbare Codes, die zu den Kampagnennamen passen
- Zeitlich begrenzen: Füge Ablaufdaten hinzu, um Dringlichkeit zu erzeugen und Missbrauch zu verhindern
- Gezielt einsetzen: Beschränke die Gültigkeit auf bestimmte Produkte, um Margenverluste zu vermeiden
- Früh validieren: Prüfe die Anwendbarkeit des Codes, bevor du den Checkout bestätigst
- Auswirkungen überwachen: Verfolge Nutzung und Conversion nach Kampagne
Rabattcodes sind wirkungsvolle Instrumente für Kundengewinnung und -bindung. Beginne mit einfachen, aussagekräftig benannten Angeboten, validiere sie gründlich und optimiere sie anhand ihrer Leistung.