Übersicht
Die Dodo Payments API verwendet standardisierte HTTP-Statuscodes und benutzerdefinierte Fehlercodes, um den Erfolg oder Misserfolg von API-Anfragen anzuzeigen. Wenn ein Fehler auftritt, gibt die API einen entsprechenden HTTP-Statuscode und eine JSON-Antwort mit detaillierten Informationen über den Fehler zurück. Jede Fehlerantwort enthält:- Einen HTTP-Statuscode, der die allgemeine Kategorie des Fehlers angibt
- Einen spezifischen Fehlercode, der die genaue Art des Fehlers identifiziert
- Eine für Menschen lesbare Fehlermeldung, die erklärt, was schiefgelaufen ist
- Zusätzliche Details zum Fehler, wenn zutreffend
- Die Fehlersuche bei Integrationsproblemen
- Die Implementierung einer ordnungsgemäßen Fehlerbehandlung in Ihrer Anwendung
- Die Bereitstellung sinnvoller Rückmeldungen für Endbenutzer
- Die Aufrechterhaltung eines robusten Zahlungssystem
Dies sind API- und geschäftslogische Fehler. Für Kartenausfallgründe, die bei einer fehlgeschlagenen Zahlung zurückgegeben werden (z.B.
INSUFFICIENT_FUNDS oder CARD_DECLINED), siehe stattdessen die Referenz zu Transaktionsfehlern.Standard API-Fehlercodes
Fehlerantwortformat
Wenn ein Fehler auftritt, gibt die API eine JSON-Antwort mit folgender Struktur zurück:Fehlercodes Referenz
Die untenstehenden Fehlercodes sind nach dem Bereich der API gruppiert, zu dem sie gehören. Jeder Eintrag listet die Bedingung auf, die sie auslöst und die Nachricht, die die API zurückgibt.Authentifizierung und Konto
-
UNAUTHORIZED- Auslöser: Kein API-Schlüssel oder ungültiges Token/Bereich
- Nachricht: Sie sind nicht berechtigt, diese Aktion durchzuführen
-
MERCHANT_NOT_LIVE- Auslöser: Das Unternehmen befindet sich weiterhin im Test Mode
- Nachricht: Der Merchant ist nicht live
-
BUSINESS_ARCHIVED- Auslöser: Jede kundenorientierte Anfrage (Checkout, Zahlungslink, Storefront, Customer Portal oder Lizenzschlüssel) für ein archiviertes Unternehmen
- Nachricht: Dieses Unternehmen ist archiviert und akzeptiert keine Anfragen mehr
Zahlungen & Checkout
-
CHECKOUT_SESSION_CONSUMED- Auslöser: Die Checkout-Sitzung hat bereits eine Zahlung generiert
- Nachricht: Die Checkout-Sitzung wurde bereits verwendet
-
NO_ELIGIBLE_PAYMENT_METHODS- Auslöser: Nach der Filterung sind keine Einträge mehr vorhanden
- Nachricht: Keine geeigneten Zahlungsmethoden gefunden
-
PAYMENT_NOT_SUCCEEDED- Auslöser: Versuch, eine fehlgeschlagene Zahlung zu erstatten oder zu verarbeiten
- Nachricht: Die angegebene Zahlung war nicht erfolgreich
-
PREVIOUS_PAYMENT_PENDING- Auslöser: Versuch, eine Belastung zu erstellen, während die vorherige Zahlung keinen Endstatus erreicht hat
- Nachricht: Eine neue Belastung kann nicht erstellt werden, da die vorherige Zahlung noch nicht erfolgreich war
-
UNSUCCESSFUL_PAYMENT_ID- Auslöser: Die Payment ID verweist auf eine fehlgeschlagene Zahlung
- Nachricht: Die Payment ID hat einen fehlgeschlagenen Status.
Konnektoren & BYOP
Diese Fehler beziehen sich auf merchant-eigene Zahlungskonnektoren (Bring Your Own Processor).-
BYOP_CONNECTOR_DISABLED- Auslöser: Aktualisierung einer Zahlungsmethode für ein Abonnement, das über einen deaktivierten BYOP-Konnektor geleitet wird
- Nachricht: Das Abonnement wird über den eigenen (BYOP-)Konnektor des Merchants geleitet, der derzeit deaktiviert ist
-
BYOP_CUSTOM_INVOICE_ADDRESS_MISSING- Auslöser: Bei einer merchant-gerouteten (BYOP-)Zahlung fehlt die erforderliche benutzerdefinierte Rechnungsadresse
- Nachricht: Eine benutzerdefinierte BYOP-Rechnungsadresse ist erforderlich, wenn eine Zahlung über den Konnektor des Merchants geleitet wird
-
CONNECTOR_LABEL_ALREADY_EXISTS- Auslöser: Erstellung eines Konnektors mit einer bereits vorhandenen Bezeichnung
- Nachricht: Ein Konnektor mit dieser Bezeichnung existiert bereits. Bitte wählen Sie eine andere Bezeichnung.
Rückerstattungen
-
EXISTING_REFUND_REQUEST_PROCESSING- Auslöser: Die vorherige Rückerstattungsanfrage wird noch verarbeitet
- Nachricht: Eine Rückerstattungsanfrage mit dem Status “Pending” wird noch verarbeitet
-
LINE_ITEM_FULLY_REFUNDED- Auslöser: Versuch, eine bereits vollständig erstattete Rechnungsposition zu erstatten
- Nachricht: Die Rechnungsposition wurde vollständig erstattet und kann nicht weiter erstattet werden.
-
LINE_ITEM_NOT_FOUND- Auslöser: Die Artikel-ID ist nicht Bestandteil der referenzierten Zahlung
- Nachricht: Rechnungsposition in der Zahlung nicht gefunden
-
LINE_ITEM_PRORATED- Auslöser: Rückerstattung oder Aktualisierung für eine anteilige Rechnungsposition
- Nachricht: Die Rechnungsposition kann nicht erstattet werden, da sie anteilig berechnet wurde
-
LINE_ITEM_REFUND_AMOUNT_TOO_HIGH- Auslöser: Rückerstattungsbetrag > bezahlter Betrag (einschließlich Steuern)
- Nachricht: Der angeforderte Rückerstattungsbetrag für die Rechnungsposition einschließlich Steuern beträgt und liegt damit über dem bezahlten Betrag
-
LINE_ITEM_REFUND_AMOUNT_TOO_LOW- Auslöser: Rückerstattungsbetrag liegt unter dem Mindestschwellenwert
- Nachricht: Der angeforderte Rückerstattungsbetrag für die Rechnungsposition beträgt und ist damit zu niedrig
-
NOTHING_TO_REFUND- Auslöser: Es ist kein erstattungsfähiger Betrag mehr vorhanden; alle positiven Rechnungspositionen wurden bereits vollständig erstattet
- Nachricht: Kein erstattungsfähiger Betrag mehr vorhanden. Alle positiven Rechnungspositionen wurden vollständig erstattet.
-
PARTIAL_REFUND_NOT_ALLOWED- Auslöser: Versuch einer Teilrückerstattung für eine Zahlungsmethode, die nur vollständige Rückerstattungen unterstützt
- Nachricht: Teilrückerstattungen sind für diese Zahlungsmethode nicht zulässig
-
PAYMENT_ALREADY_REFUNDED- Auslöser: Doppelte Rückerstattung
- Nachricht: Diese Zahlung wurde bereits erstattet
-
PAYMENT_HAS_BEEN_REFUNDED- Auslöser: Die Zahlung wurde vollständig erstattet
- Nachricht: Die Payment ID wurde vollständig erstattet.
-
REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT- Auslöser: Gesamtrückerstattungsbetrag > bezahlter Betrag
- Nachricht: Der berechnete Rückerstattungsbetrag ist höher als der bezahlte Betrag
-
REFUND_WINDOW_EXPIRED- Auslöser: Der zulässige Zeitraum für Rückerstattungen ist überschritten
- Nachricht: Rückerstattungen können nicht mehr als Tage nach Erstellung der Zahlung eingeleitet werden. Wenden Sie sich an support@dodopayments.com.
-
ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED- Auslöser: Versuch, eine Zahlung mit einem Betrag von null zu erstatten
- Nachricht: Eine Zahlung mit einem Währungsbetrag von null kann nicht erstattet werden
Abonnements & Add-ons
-
ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED- Auslöser: Versuch, Add-ons zu Abonnements mit nutzungsbasierter Abrechnung hinzuzufügen
- Nachricht: Add-ons in Abonnements werden für Usage Based Billing nicht unterstützt
-
ADDONS_NOT_ALLOWED_FOR_ON_DEMAND- Auslöser: Versuch, Add-ons zu On-Demand-Abonnements hinzuzufügen
- Nachricht: Add-ons sind für On-Demand-Abonnements nicht zulässig
-
CANCEL_SCHEDULED_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Auslöser: Customer Portal versucht, eine geplante Planänderung zu stornieren, obwohl das Unternehmen diese Aktion deaktiviert hat
- Nachricht: Das Stornieren geplanter Planänderungen ist im Customer Portal deaktiviert.
-
CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Auslöser: Versuch, ein zur Kündigung vorgesehenes Abonnement zu belasten
- Nachricht: Abonnement zur Kündigung vorgesehen
-
CUSTOMER_HAS_EXISTING_SUBSCRIPTION- Auslöser: Erstellung eines Abonnements für einen Kunden, der bereits eines besitzt, wenn mehrere Abonnements pro Kunde nicht zulässig sind
- Nachricht: Für den Kunden ist bereits ein Abonnement vorhanden. Ändern Sie die Unternehmenseinstellungen, um mehrere Abonnements pro Kunde zu erlauben
-
DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL- Auslöser: Der
do_not_bill-Prorationsmodus wurde bei einer Planänderung im Customer Portal verwendet - Nachricht: Der Prorationsmodus do_not_bill ist im Customer Portal nicht zulässig
- Auslöser: Der
-
DUPLICATE_ADDON_IDS_IN_REQUEST- Auslöser: Dieselbe
addon_iderscheint mehr als einmal in der Anfrage - Nachricht: Doppelte Add-on-IDs sind nicht zulässig
- Auslöser: Dieselbe
-
INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED- Auslöser: Planänderung bei einem inaktiven Abonnement
- Nachricht: Planänderungen werden für inaktive Abonnements nicht unterstützt
-
INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE- Auslöser: Ein anderer Prorationsmodus als
full_immediatelywurde miteffective_at: next_billing_dateverwendet - Nachricht: Mit effective_at: next_billing_date ist nur der Prorationsmodus full_immediately zulässig
- Auslöser: Ein anderer Prorationsmodus als
-
MISSING_ADDON_IDS- Auslöser: Die
addon_id-Liste ist leer oder enthält unbekannte IDs - Nachricht: Eine oder mehrere Produkt-IDs existieren nicht:
- Auslöser: Die
-
ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED- Auslöser: Planwechsel für On-Demand nicht zulässig
- Nachricht: Planänderungen werden für On-Demand-Abonnements nicht unterstützt
-
ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED- Auslöser: Versuch, On-Demand mit nutzungsbasierter Abrechnung zu verwenden
- Nachricht: On-Demand-Abonnements werden für Usage Based Billing nicht unterstützt
-
ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND- Auslöser: Ein einmaliges Produkt wurde zu einem On-Demand-Abonnement hinzugefügt
- Nachricht: Einmalige Produkte sind für On-Demand-Abonnements nicht zulässig
-
PENDING_PLAN_CHANGE_EXISTS- Auslöser: Eine neue Planänderung wurde angefordert, während eine vorherige noch auf die Zahlung wartet
- Nachricht: Für dieses Abonnement ist bereits eine ausstehende Planänderung vorhanden. Bitte warten Sie, bis die aktuelle Zahlung abgeschlossen ist.
-
PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Auslöser: Planänderung über das Customer Portal, obwohl das Unternehmen diese deaktiviert hat
- Nachricht: Planänderungen für Abonnements sind im Customer Portal deaktiviert.
-
PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION- Auslöser: Planänderung bei einem zur Kündigung vorgesehenen Abonnement
- Nachricht: Abonnement zur Kündigung vorgesehen
-
SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED- Auslöser: Planung einer Planänderung über das Customer Portal, obwohl das Unternehmen diese deaktiviert hat
- Nachricht: Das Planen von Planänderungen ist für dieses Unternehmen deaktiviert.
-
SCHEDULED_PLAN_CHANGE_EXISTS- Auslöser: Erstellung einer geplanten Planänderung, obwohl bereits eine vorhanden ist
- Nachricht: Für dieses Abonnement ist bereits eine geplante Planänderung vorhanden. Bitte stornieren Sie die bestehende geplante Änderung, bevor Sie eine neue erstellen.
-
SCHEDULED_PLAN_CHANGE_NOT_FOUND- Auslöser: Verweis auf oder Stornierung einer nicht vorhandenen geplanten Planänderung
- Nachricht: Keine geplante Planänderung für dieses Abonnement gefunden.
-
SUBSCRIPTION_EXPIRED- Auslöser: Abrechnung nach
expires_at - Nachricht: Abonnement abgelaufen; neue Belastungen können nicht erstellt werden
- Auslöser: Abrechnung nach
-
SUBSCRIPTION_INACTIVE- Auslöser: Status ≠
active - Nachricht: Abonnement ist nicht aktiv
- Auslöser: Status ≠
-
SUBSCRIPTION_NOT_ON_DEMAND- Auslöser: On-Demand erwartet, aber festes Intervall erhalten
- Nachricht: Das Abonnement ist bereits nicht On-Demand
-
SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED- Auslöser: Die maximale Anzahl der Zahlungswiederholungen für das Abonnement wurde überschritten
- Nachricht: Das maximale Wiederholungslimit von 10 Versuchen wurde für dieses Abonnement überschritten
Produkte, Warenkorb & Marken
-
BRAND_ALREADY_ARCHIVED- Auslöser: Archivierung einer bereits archivierten Marke
- Nachricht: Marke ist bereits archiviert
-
BRAND_ARCHIVED- Auslöser: Aktualisierung einer archivierten Marke, Übermittlung zur Verifizierung oder Zuordnung eines neuen Produkts, einer Produktsammlung oder eines Abonnements zu ihr
- Nachricht: Die Marke ist archiviert und kann nicht aktualisiert werden
-
BRAND_ARCHIVE_TARGET_REQUIRED- Auslöser: Archivierung einer Marke, die noch Produkte, aktive Abonnements oder Produktsammlungen ohne ein
move_products_to-Ziel enthält - Nachricht: Die Marke enthält 12 Produkt(e). Setzen Sie move_products_to auf eine Zielmarke, um sie neu zuzuordnen.
- Auslöser: Archivierung einer Marke, die noch Produkte, aktive Abonnements oder Produktsammlungen ohne ein
-
BRAND_MISMATCH- Auslöser: Die Warenkorbartikel gehören zu verschiedenen Marken
- Nachricht: Alle Artikel im Produktwarenkorb sollten derselben Marke angehören
-
BRAND_NOT_ENABLED- Auslöser: Die Marke ist deaktiviert oder nicht aktiv
- Nachricht: Die angegebene Marke ist nicht aktiviert
-
BRAND_SUBMISSION_NOT_ENABLED- Auslöser: Die Funktion zur erneuten Einreichung der Markenverifizierung ist nicht aktiviert
- Nachricht: Die erneute Einreichung der Markenverifizierung ist nicht aktiviert
-
CANNOT_ARCHIVE_PRIMARY_BRAND- Auslöser: Archivierung der primären Marke, deren Marken-ID der Unternehmens-ID entspricht
- Nachricht: Die primäre Marke kann nicht archiviert werden
-
FILE_IN_USE- Auslöser: Löschen einer Datei eines digitalen Produkts, auf die aktive Berechtigungsvergaben noch verweisen
- Nachricht: Auf die digitale Datei wird von aktiven Berechtigungsvergaben verwiesen
-
INVALID_BRAND_ARCHIVE_TARGET- Auslöser:
move_products_tobezeichnet die zu archivierende Marke, eine archivierte Marke oder eine Marke eines anderen Unternehmens - Nachricht: move_products_to muss eine nicht archivierte Marke dieses Unternehmens sein
- Auslöser:
-
INVALID_SUGGESTED_PRICE- Auslöser: PWYW-Preis < zulässiger Mindestpreis
- Nachricht: Der vorgeschlagene Preis darf nicht unter dem Mindestpreis liegen. Bei „Pay what you want“ gilt der Preis als akzeptierter Mindestbetrag
-
LOCALIZED_PRICE_ALREADY_EXISTS- Auslöser: Für dieses Produkt und Land/diese Währung existiert bereits ein lokalisierter Preis
- Nachricht: Für dieses Produkt und Land/diese Währung existiert bereits ein lokalisierter Preis
-
LOCALIZED_PRICE_DUPLICATES_BASE- Auslöser: Der lokalisierte Preis dupliziert die Basiswährung bzw. das Basisland des Produkts
- Nachricht: Der lokalisierte Preis dupliziert die Basiswährung bzw. das Basisland des Produkts
-
LOCALIZED_PRICE_SHAPE_MISMATCH- Auslöser: Die Struktur des lokalisierten Preises entspricht nicht dem
pricing_modedes Produkts - Nachricht: Die Struktur des lokalisierten Preises entspricht nicht dem pricing_mode des Produkts
- Auslöser: Die Struktur des lokalisierten Preises entspricht nicht dem
-
MISSING_PRODUCT_INFORMATION- Auslöser: Das Produkt existiert, aber erforderliche Informationen fehlen
- Nachricht: Das Produkt existiert, aber andere erforderliche Informationen fehlen oder sind ungültig
-
PAY_AS_YOU_WANT_AMOUNT_REQUIRED- Auslöser: Preis für ein PWYW-Produkt fehlt
- Nachricht: Der Betrag ist für ein „Pay what you want“-Produkt erforderlich
-
PRODUCT_CART_EMTPY- Auslöser: Leerer Produktwarenkorb übermittelt
- Nachricht: product_cart ist leer (der Fehlercode wird absichtlich als
EMTPYgeschrieben, damit er dem exakten von der API zurückgegebenen Wert entspricht)
-
PRODUCT_COLLECTION_IS_DELETED- Auslöser: Vorgang für eine gelöschte Produktsammlung
- Nachricht: Keine Nachricht
-
PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS- Auslöser: Entfernen des letzten Produkts (oder der letzten Gruppe mit Produkten) aus einer Sammlung
- Nachricht: Das letzte Produkt einer Sammlung kann nicht gelöscht werden. Archivieren Sie stattdessen die Sammlung.
-
PRODUCT_IS_DELETED- Auslöser: Produkt wurde vorläufig gelöscht
- Nachricht: Keine Nachrichten
-
PRODUCT_PRICING_MODE_REQUIRED- Auslöser: Hinzufügen lokalisierter Preise, bevor der
pricing_modedes Produkts festgelegt wurde - Nachricht: Der pricing_mode des Produkts muss vor dem Hinzufügen lokalisierter Preise festgelegt werden
- Auslöser: Hinzufügen lokalisierter Preise, bevor der
-
SLUG_ALREADY_TAKEN- Auslöser: Der angeforderte Produkt-Slug bzw. die Kurz-URL wird bereits verwendet
- Nachricht: Der Slug ist bereits vergeben
-
UNABLE_TO_EDIT_PRIMARY_BRAND- Auslöser: Versuch, die primäre Marke über die reguläre API zu aktualisieren
- Nachricht: Die primäre Marke kann über diesen API-Endpunkt nicht aktualisiert werden.
Rabatte
-
DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION- Auslöser: Erneute Anwendung eines Rabatts, der für dieses Abonnement bereits verwendet wurde
- Nachricht: Dieser Rabatt wurde für dieses Abonnement bereits verwendet
-
DISCOUNT_CODE_ALREADY_EXISTS- Auslöser: Erstellung eines doppelten Rabattcodes
- Nachricht: Der Rabattcode existiert bereits
-
DISCOUNT_CODE_EXPIRED- Auslöser: Der Rabattcode liegt nach seinem
expires_at-Datum - Nachricht: Rabattcode abgelaufen
- Auslöser: Der Rabattcode liegt nach seinem
-
DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED- Auslöser: Rabatt erneut verwendet, nachdem
usage_limiterreicht wurde - Nachricht: Das Nutzungslimit darf nicht kleiner als times_used sein / Das Nutzungslimit des Rabattcodes wurde erreicht
- Hinweis: Endgültig — der Code ist erschöpft. Nicht erneut versuchen.
- Auslöser: Rabatt erneut verwendet, nachdem
-
DISCOUNT_CONCURRENT_REDEMPTION- Auslöser: Eine andere Einlösung desselben Codes hielt die Sperre der Zeile für das Nutzungslimit zu lange
- Nachricht: Der Rabatt wird gleichzeitig eingelöst; bitte versuchen Sie es erneut
- Hinweis: Vorübergehend. Der Code kann noch Kapazität haben, daher kann die Anfrage sicher wiederholt werden. Geben Sie dem Kunden diesen Fehler nicht als „Code erschöpft“ aus.
-
DISCOUNT_CURRENCY_OPTION_INVALID- Auslöser: Ungültiger
currency_optionsbeim Erstellen oder Aktualisieren - Nachricht: Ein Pauschalrabatt erfordert mindestens eine Währungsoption mit einem auflösbaren Standardwert / Doppelte Währungsoptionen sind nicht zulässig / Nur eine Währungsoption darf als Standard markiert sein
- Auslöser: Ungültiger
-
DISCOUNT_CUSTOMER_NOT_ELIGIBLE- Auslöser: Der Kunde erfüllt
customer_eligibilitydes Codes nicht (first_time,existingoder nicht auf der Allowlist einesspecific-Codes) - Nachricht: Der Kunde ist für diesen Rabattcode nicht berechtigt
- Auslöser: Der Kunde erfüllt
-
DISCOUNT_MINIMUM_SUBTOTAL_NOT_MET- Auslöser: Die Zwischensumme des Warenkorbs liegt unter dem für die Checkout-Währung festgelegten
minimum_subtotal - Nachricht: Die Zwischensumme des Warenkorbs liegt unter der erforderlichen Mindestzwischensumme des Rabatts
- Auslöser: Die Zwischensumme des Warenkorbs liegt unter dem für die Checkout-Währung festgelegten
-
DISCOUNT_NOT_YET_ACTIVE- Auslöser: Code vor seinem
starts_at-Datum verwendet - Nachricht: Der Rabattcode ist noch nicht aktiv (starts_at liegt in der Zukunft)
- Auslöser: Code vor seinem
-
DISCOUNT_PER_CUSTOMER_USAGE_LIMIT_EXCEEDED- Auslöser: Der Kunde hat den Code bereits
per_customer_usage_limit-mal eingelöst - Nachricht: Das Nutzungslimit pro Kunde für diesen Rabattcode wurde überschritten
- Auslöser: Der Kunde hat den Code bereits
-
DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT- Auslöser: Planänderung zu einem Produkt, auf das der bestehende Rabatt nicht anwendbar ist
- Nachricht: Der Rabatt ist auf das Produkt des neuen Plans nicht anwendbar
-
DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND- Auslöser: Code auf ein On-Demand-Abonnement angewendet
- Nachricht: Rabattgutscheine sind für On-Demand-Abonnements nicht verfügbar
-
DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT- Auslöser: Code auf nicht zugehörige(s) Produkt(e) angewendet
- Nachricht: Rabattgutscheine sind für dieses Produkt nicht verfügbar
-
INVALID_DISCOUNT_CODE- Auslöser: Code existiert nicht bzw. ist nicht anwendbar
- Nachricht: Ungültiger Rabattcode / Rabattcode kann auf kein Produkt im Warenkorb angewendet werden
-
INVALID_PERCENTAGE- Auslöser: Prozentbetrag > 100 % (oder 10.000 Basispunkte)
- Nachricht: Der Prozentbetrag darf nicht mehr als 10000 betragen / Der Rabattcodebetrag darf nicht mehr als 100 % betragen
-
UNSUPPORTED_DISCOUNT_TYPE- Auslöser: Ein nicht unterstützter Rabatttyp.
percentageundflatwerden beide unterstützt; Rabatte mit einem Betrag pro Einheit hingegen nicht. - Nachricht: Nur prozentuale und pauschale Rabattcodes werden unterstützt
- Auslöser: Ein nicht unterstützter Rabatttyp.
Lizenzschlüssel
-
ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT- Auslöser: Aktivierungen von Lizenzschlüsseln: neues Limit < vorhandene Instanzanzahl
- Nachricht: Das neue Aktivierungslimit darf nicht kleiner als die aktuelle Instanzanzahl sein
-
INACTIVE_LICENSE_KEY- Auslöser: Schlüsselstatus ≠
active - Nachricht: Der Lizenzschlüssel ist nicht aktiv
- Auslöser: Schlüsselstatus ≠
-
LICENSE_KEY_LIMIT_REACHED- Auslöser: Aktivierungen = Limit
- Nachricht: Aktivierungslimit des Lizenzschlüssels erreicht
-
LICENSE_KEY_NOT_FOUND- Auslöser: Instanz-ID oder Schlüssel-ID ungültig
- Nachricht: Lizenzschlüsselinstanz nicht gefunden oder gehört nicht zu diesem Lizenzschlüssel
-
NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS- Auslöser: Versuch, ein Ablaufdatum für einen abonnementbasierten Schlüssel festzulegen
- Nachricht: Für einen abonnementbasierten Lizenzschlüssel kann kein Ablaufdatum festgelegt werden
Nutzungsbasierte Abrechnung & Meter
-
DUPLICATE_METER_IDS_IN_REQUEST- Auslöser: Dieselbe Meter-ID erscheint mehrfach in der Anfrage
- Nachricht: Doppelte Meter-IDs sind nicht zulässig
-
INVALID_QUANTITY- Auslöser: Ungültige Menge für nutzungsbasierte Preisgestaltung angegeben
- Nachricht: In Produkten mit nutzungsbasiertem Preis ist nur die Menge 1 zulässig
-
METER_IS_DELETED- Auslöser: Versuch, einen gelöschten Meter zu verwenden
- Nachricht: Der Meter wurde bereits gelöscht
-
MISSING_METER_IDS- Auslöser: Die Meter-ID-Liste ist leer oder enthält ungültige IDs
- Nachricht: Eine oder mehrere Meter-IDs existieren nicht:
Guthabenbasierte Abrechnung
-
CREDIT_ENTITLEMENT_IS_DELETED- Auslöser: Vorgang für eine gelöschte Guthabenberechtigung
- Nachricht: Die Guthabenberechtigung wurde bereits gelöscht
-
CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS- Auslöser: Erstellung einer Guthabenberechtigung mit einem bereits vorhandenen Namen
- Nachricht: Eine Guthabenberechtigung mit diesem Namen existiert bereits
-
OVERAGE_LIMIT_EXCEEDED- Auslöser: Eine Nutzungs- oder Guthabenabbuchung würde das konfigurierte Überziehungslimit überschreiten
- Nachricht: Überziehungslimit überschritten
Wallet
-
INSUFFICIENT_WALLET_FUNDS- Auslöser: Wallet-Guthaben < Abbuchungsbetrag
- Nachricht: Unzureichendes Guthaben im Wallet
-
NEGATIVE_BALANCE_ADJUSTMENT- Auslöser: Versuch, das Wallet-Guthaben ins Negative zu setzen
- Nachricht: Das Wallet-Guthaben darf nicht negativ werden
Währung, Steuern & Region
-
EXCHANGE_RATE_NOT_FOUND- Auslöser: Kein FX-Kurs für das
from → to-Währungspaar - Nachricht: Wechselkurs für die Umrechnung von Währung in Währung nicht gefunden
- Auslöser: Kein FX-Kurs für das
-
INVALID_TAX_ID- Auslöser: VAT/GST/TIN-Validierung fehlgeschlagen
- Nachricht: Tax ID ist ungültig
-
REQUEST_AMOUNT_BELOW_MINIMUM- Auslöser: Betrag < Mindestbetrag des Produkts
- Nachricht: Der Betrag darf nicht unter dem für das Produkt angegebenen Mindestbetrag liegen
-
TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT- Auslöser: Kombinierte Warenkorbsumme < Gateway-Mindestbetrag
- Nachricht: Für die Verarbeitung der Zahlung ist ein Mindestbetrag von erforderlich
-
UNSUPPORTED_BILLING_CURRENCY- Auslöser: Die angeforderte Abrechnungswährung wird für dieses Abonnement nicht unterstützt
- Nachricht: Eine Abrechnung in einer anderen Währung als USD wird für Abonnements nicht unterstützt
-
UNSUPPORTED_COUNTRY- Auslöser: Die Region wird noch nicht unterstützt
- Nachricht: Land wird derzeit nicht unterstützt
-
UNSUPPORTED_CURRENCY- Auslöser: Die Währung des Produkts oder Add-ons ist keine Währung, in der Dodo Payments Belastungen vornehmen kann. Basispreise können in jeder belastbaren Währung festgelegt werden; daher bedeutet dies normalerweise, dass der Währungscode ungültig oder noch nicht unterstützt ist.
- Nachricht: Währung wird derzeit nicht unterstützt / Derzeit werden nur Produkte in USD und INR unterstützt / Für Add-on-Preise werden derzeit nur USD und INR unterstützt / Für billing_currency kann nur USD oder INR angefordert werden / Währung nicht unterstützt / Unerwartete Währung für indische Kartenabonnements
-
UNSUPPORTED_TAX_CATEGORY- Auslöser: Steuerkategorie-String ist nicht im Enum enthalten
- Nachricht: Kategorie wird derzeit nicht unterstützt
Validierung & Anfragen
-
DUPLICATE_LINE_ITEMS_IN_REQUEST- Auslöser: Dasselbe
item_iderscheint zweimal initems[] - Nachricht: Doppelte item_ids im items-Array angegeben
- Auslöser: Dasselbe
-
INVALID_QUERY_PARAMS- Auslöser: Sich gegenseitig ausschließende bzw. fehlerhafte Query-Parameter
- Nachricht: Query-Parameter dürfen nur entweder time_frame oder (start, end) enthalten
-
INVALID_REQUEST_BODY- Auslöser: Fehlerhaftes JSON oder Schema-Verletzung
- Nachricht: Der Body Ihrer Anfrage ist ungültig. Bitte überprüfen Sie Ihre Request-Header und Ihr Objekt.
-
INVALID_REQUEST_PARAMETERS- Auslöser: Falsche Semantik (z. B. Datum in der Vergangenheit)
- Nachricht: next_billing_date kann nicht auf einen Zeitpunkt in der Vergangenheit geändert werden
-
MAXIMUM_KEYS_REACHED- Auslöser: Metadata bzw. benutzerdefinierte Felder überschreiten 50 Paare
- Nachricht: Mehr als 50 Schlüssel-Wert-Paare
Allgemein & System
-
INTEGER_CONVERSION_FAILURE- Auslöser: Jede serverseitig fehlschlagende Konvertierung zwischen Integer und String/Decimal
- Nachricht: Fehler bei der Integer-Konvertierung
-
INTERNAL_SERVER_ERROR- Auslöser: Nicht abgefangene Ausnahmen; Sie sollten die Details serverseitig protokollieren
- Nachricht: Keine öffentliche Nachricht (generischer 500-Fehler)
-
NOT_FOUND- Auslöser: Allgemeiner 404-Fehler für eine nicht gefundene Ressource
- Nachricht: Element nicht gefunden (oder spezifischere Meldung)
-
TOO_MANY_REQUESTS- Auslöser: 429-Ratenlimit
- Nachricht: Keine Nachrichten
-
UNSUPPORTED_ACTION- Auslöser: Nicht unterstützte Aktion für den Ressourcentyp
- Nachricht: Planänderungen für nutzungsbasierte Abonnements werden nicht unterstützt
Best Practices
- Behandeln Sie Fehler in Ihrer Anwendung stets ordnungsgemäß
- Implementieren Sie eine geeignete Fehlerprotokollierung
- Verwenden Sie passende Fehlermeldungen für Endbenutzer
- Implementieren Sie eine Wiederholungslogik für vorübergehende Fehler
- Wenden Sie sich bei ungelösten Problemen an den Support