
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.

Übergeben Sie in Checkout Sessions
discount_codes (ein Array), um einen oder mehrere Codes vorab anzuwenden. Das Eingabefeld für Rabattcodes wird standardmäßig angezeigt – feature_flags.allow_discount_code ist standardmäßig auf true gesetzt. Setzen Sie es nur dann auf false, wenn Sie das Feld ausblenden möchten. Codes werden in der Reihenfolge des Arrays angewendet, bis zu einem Maximum von 20.Rabattcodes kombinieren
Checkout-Sitzungen, Zahlungen und Abonnements akzeptieren über dasdiscount_codes-Array bis zu 20 gestapelte Codes (maximal 20 Einträge). Codes werden in Array-Reihenfolge angewendet: Der erste geeignete Code reduziert zuerst den Ausgangspreis, der nächste Code reduziert den bereits rabattierten Preis usw. Wenn die Kaufkraftparität aktiviert ist, entspricht der Ausgangspreis dem um PPP angepassten Betrag und nicht dem Basispreis. Die vollständige Menge der angewendeten Rabatte wird in der Antwort unter discount_ids (bei Zahlungen/Abonnements) und discounts (detailliertere Angaben pro 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.Rabattcodefeld ausblenden
Das Eingabefeld für Rabattcodes wird standardmäßig angezeigt, sodass Kunden jederzeit einen Code eingeben können, ohne dass Sie vorab einen übergeben müssen. Setzen Sieallow_discount_code auf false, um das Feld vollständig auszublenden.
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.