Zum Hauptinhalt springen

Ü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
Das Verständnis dieser Fehlercodes und ihrer Bedeutungen ist entscheidend für:
  • 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

HTTP-StatusNameBeschreibung
400Bad RequestDie Anfrage war fehlerhaft oder enthielt ungültige Parameter
401UnauthorizedAuthentifizierung fehlgeschlagen oder API-Schlüssel ist ungültig
403ForbiddenDer API-Schlüssel hat keine Berechtigung, auf die angeforderte Ressource zuzugreifen
404Not FoundDie angeforderte Ressource existiert nicht
405Method Not AllowedDie HTTP-Methode wird für diesen Endpunkt nicht unterstützt
409ConflictDie Anfrage steht im Konflikt mit dem aktuellen Zustand der Ressource
422Unprocessable EntityDie Anfrage war richtig formuliert, enthielt jedoch semantische Fehler
429Too Many RequestsRatenlimit überschritten
500Internal Server ErrorEin unerwarteter Fehler ist auf unseren Servern aufgetreten
502Bad GatewayDer Server hat eine ungültige Antwort von einem Upstream-Server erhalten
503Service UnavailableDer Dienst ist vorübergehend nicht verfügbar
504Gateway TimeoutDer Server hat beim Warten auf eine Upstream-Antwort überschritten

Fehlerantwortformat

Wenn ein Fehler auftritt, gibt die API eine JSON-Antwort mit folgender Struktur zurück:
{
  "code": "UNSUPPORTED_COUNTRY",
  "message": "Country AI currently not supported"
}

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: Geschäft noch im Test-/Sandbox-Modus
    • Nachricht: Händler ist nicht live

Zahlungen und Checkout

  • CHECKOUT_SESSION_CONSUMED
    • Auslöser: Checkout-Sitzung hat bereits eine Zahlung generiert
    • Nachricht: Checkout-Sitzung wurde bereits verwendet
  • NO_ELIGIBLE_PAYMENT_METHODS
    • Auslöser: Nach dem Filtern ist nichts übrig
    • Nachricht: Keine geeigneten Zahlungsmethoden gefunden
  • PAYMENT_NOT_SUCCEEDED
    • Auslöser: Versuch, eine fehlgeschlagene Zahlung zu erstatten/verarbeiten
    • Nachricht: Die angegebene Zahlung war nicht erfolgreich
  • PREVIOUS_PAYMENT_PENDING
    • Auslöser: Versuch, eine Belastung zu erstellen, während die vorherige noch nicht abgeschlossen ist
    • Nachricht: Kann keine neue Belastung erstellen, da die vorherige Zahlung noch nicht erfolgreich war
  • UNSUCCESSFUL_PAYMENT_ID
    • Auslöser: Zahlungs-ID bezieht sich auf eine fehlgeschlagene Zahlung
    • Nachricht: Die Zahlungs-ID hat einen nicht erfolgreichen Status.

Konnektoren und BYOP

Diese Fehler beziehen sich auf händlerseitige Zahlungskonnektoren (Bring Your Own Processor).
  • BYOP_CONNECTOR_DISABLED
    • Auslöser: Aktualisierung einer Zahlungsmethode bei einem Abonnement, das über einen deaktivierten BYOP-Konnektor geleitet wurde
    • Nachricht: Das Abonnement wird über den eigenen (BYOP) Konnektor des Händlers geleitet, der derzeit deaktiviert ist
  • BYOP_CUSTOM_INVOICE_ADDRESS_MISSING
    • Auslöser: Eine händlergeleitete (BYOP) Zahlung fehlt die erforderliche benutzerdefinierte Rechnungsadresse
    • Nachricht: BYOP-Benutzerdefinierte Rechnungsadresse ist erforderlich, wenn eine Zahlung über den Händleranschluss geleitet wird
  • CONNECTOR_LABEL_ALREADY_EXISTS
    • Auslöser: Erstellen eines Konnektors mit einem bereits vorhandenen Label
    • Nachricht: Ein Konnektor mit diesem Label existiert bereits. Bitte wählen Sie ein anderes Label.

Rückerstattungen

  • EXISTING_REFUND_REQUEST_PROCESSING
    • Trigger: Vorherige Rückerstattungsanfrage noch in Bearbeitung
    • Message: Eine Rückerstattungsanfrage mit dem Status “Pending” wird noch bearbeitet
  • LINE_ITEM_FULLY_REFUNDED
    • Auslöser: Versuch, einen bereits vollständig erstatteten Posten zurückzuerstatten
    • Nachricht: Position wurde vollständig zurückerstattet, kann nicht weiter zurückerstattet werden.
  • LINE_ITEM_NOT_FOUND
    • Auslöser: Artikel-ID ist nicht Teil der referenzierten Zahlung
    • Nachricht: Position nicht in Zahlung gefunden
  • LINE_ITEM_PRORATED
    • Auslöser: Rückerstattung oder Aktualisierung bei einer anteilsmäßigen Linie versucht
    • Nachricht: Position kann nicht zurückerstattet werden, da sie anteilig ist
  • LINE_ITEM_REFUND_AMOUNT_TOO_HIGH
    • Auslöser: Rückerstattungsbetrag > bezahlter Betrag (inkl. Steuern)
    • Nachricht: Angeforderter Rückerstattungsbetrag für Position inklusive Steuern ist , was über dem bezahlten Betrag liegt
  • LINE_ITEM_REFUND_AMOUNT_TOO_LOW
    • Auslöser: Rückerstattungsbetrag unter dem Mindestschwellenwert
    • Nachricht: Angeforderter Rückerstattungsbetrag für Position ist , was zu niedrig ist
  • NOTHING_TO_REFUND
    • Auslöser: Kein erstattbarer Betrag bleibt übrig; alle positiven Posten wurden bereits vollständig zurückerstattet
    • Nachricht: Kein erstattbarer Betrag übrig. Alle positiven Posten wurden vollständig zurückerstattet.
  • PARTIAL_REFUND_NOT_ALLOWED
    • Auslöser: Teilrückerstattung für eine Zahlungsmethode, die nur vollständige Rückerstattungen unterstützt
    • Nachricht: Teilrückerstattungen sind für diese Zahlungsmethode nicht erlaubt
  • PAYMENT_ALREADY_REFUNDED
    • Auslöser: Doppelte Rückerstattung
    • Nachricht: Diese Zahlung wurde bereits zurückerstattet
  • PAYMENT_HAS_BEEN_REFUNDED
    • Auslöser: Zahlung wurde vollständig zurückerstattet
    • Nachricht: Die Zahlungs-ID wurde vollständig zurückerstattet.
  • REFUND_AMOUNT_EXCEEDS_PAID_AMOUNT
    • Auslöser: Gesamtrückerstattungsbetrag > bezahlter Betrag
    • Nachricht: Der berechnete Rückerstattungsbetrag ist größer als der bezahlte Betrag
  • REFUND_WINDOW_EXPIRED
    • Auslöser: Außerhalb des zulässigen Rückerstattungsfensters
    • Nachricht: Rückerstattungen können nicht Tage nach der Zahlung erstellt werden. Kontaktieren Sie support@dodopayments.com.
  • ZERO_AMOUNT_PAYMENT_REFUND_NOT_ALLOWED
    • Auslöser: Versuch, eine Zahlung mit Null-Betrag zurückzuerstatten
    • Nachricht: Eine Zahlung mit Null-Betrag kann nicht zurückerstattet werden

Abonnements und Add-ons

  • ADDONS_IN_USAGE_BASED_BILLING_NOT_SUPPORTED
    • Auslöser: Versuch, Addons zu einem abnutzungsbasierten Abonnement hinzuzufügen
    • Nachricht: Addons in Abonnements werden für nutzungsbasierte Abrechnung nicht unterstützt
  • ADDONS_NOT_ALLOWED_FOR_ON_DEMAND
    • Auslöser: Versuch, Addons zu bedarfsbasierten Abonnements hinzuzufügen
    • Nachricht: Addons sind für bedarfsbasierte Abonnements nicht erlaubt
  • CANCEL_SCHEDULED_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • Auslöser: Kundenportal versucht, einen geplanten Planwechsel zu stornieren, während das Geschäft diese Aktion deaktiviert hat
    • Nachricht: Das Stornieren geplanter Planwechsel im Kundenportal ist deaktiviert.
  • CHARGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION
    • Auslöser: Versuch, ein zur Kündigung vorgesehenes Abonnement zu belasten
    • Nachricht: Abonnement zur Kündigung geplant
  • CUSTOMER_HAS_EXISTING_SUBSCRIPTION
    • Auslöser: Erstellung eines Abonnements für einen Kunden, der bereits eines hat, wenn mehrere Abonnements pro Kunde nicht erlaubt sind
    • Nachricht: Kunde hat ein bestehendes Abonnement. Um mehrere Abonnements pro Kunde zuzulassen, ändern Sie die Geschäftseinstellungen
  • DO_NOT_BILL_NOT_ALLOWED_IN_CUSTOMER_PORTAL
    • Auslöser: do_not_bill Prorationsmodus im Kundenportal-Planwechsel verwendet
    • Nachricht: Der Modus do_not_bill ist im Kundenportal nicht erlaubt
  • DUPLICATE_ADDON_IDS_IN_REQUEST
    • Auslöser: Derselbe addon_id erscheint mehrmals in der Anfrage
    • Nachricht: Doppelte Addon-IDs sind nicht erlaubt
  • INACTIVE_SUBSCRIPTION_PLAN_CHANGE_NOT_SUPPORTED
    • Auslöser: Planwechsel bei inaktivem Abonnement
    • Nachricht: Planänderungen sind für inaktive Abonnements nicht unterstützt
  • INVALID_PRORATION_MODE_WITH_NEXT_BILLING_DATE
    • Auslöser: Ein anderer Prorationsmodus als full_immediately wird mit effective_at: next_billing_date verwendet
    • Nachricht: Nur der vollständige Modus „full_immediately“ ist mit „effective_at: next_billing_date“ erlaubt
  • MISSING_ADDON_IDS
    • Auslöser: addon_id Liste leer oder unbekannte IDs
    • Nachricht: Ein oder mehrere Produkt-IDs existieren nicht:
  • ON_DEMAND_PLAN_CHANGE_NOT_SUPPORTED
    • Auslöser: Planwechsel nicht erlaubt für Bedarf
    • Nachricht: Planänderungen sind für bedarfsbasierte Abonnements nicht unterstützt
  • ON_DEMAND_USAGE_BASED_BILLING_NOT_SUPPORTED
    • Auslöser: Versuch, Nachfrage mit nutzungsbasierter Abrechnung zu nutzen
    • Nachricht: Bedarfsgesteurte Abonnements werden für nutzungsbasierte Abrechnung nicht unterstützt
  • ONE_TIME_PRODUCTS_NOT_ALLOWED_FOR_ON_DEMAND
    • Auslöser: Einmaliges Produkt zu einem bedarfsbasierten Abonnement hinzugefügt
    • Nachricht: Einmalige Produkte sind für bedarfsbasierte Abonnements nicht erlaubt
  • PENDING_PLAN_CHANGE_EXISTS
    • Auslöser: Neuer Planwechsel beantragt, während ein vorheriger noch auf Zahlung wartet
    • Nachricht: Ein ausstehender Planwechsel existiert bereits für dieses Abonnement. Bitte warten Sie, bis die aktuelle Zahlung abgeschlossen ist.
  • PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • Auslöser: Planwechsel über Kundenportal, während das Geschäft dies deaktiviert hat
    • Nachricht: Planwechsel über Kundenportal ist deaktiviert.
  • PLAN_CHANGE_NOT_ALLOWED_FOR_SCHEDULED_CANCELLATION
    • Auslöser: Planwechselversuch bei zur Kündigung geplantem Abonnement
    • Nachricht: Abonnement zur Kündigung geplant
  • SCHEDULE_PLAN_CHANGE_FOR_CUSTOMER_PORTAL_DISABLED
    • Auslöser: Planänderung über Kundenportal planen, während das Geschäft dies deaktiviert hat
    • Nachricht: Geplante Planänderungen sind für dieses Geschäft deaktiviert.
  • SCHEDULED_PLAN_CHANGE_EXISTS
    • Auslöser: Erstellung einer geplanten Planänderung, wenn bereits eine existiert
    • Nachricht: Eine geplante Planänderung existiert bereits für dieses Abonnement. Bitte stornieren Sie die bestehende geplante Änderung, bevor Sie eine neue erstellen.
  • SCHEDULED_PLAN_CHANGE_NOT_FOUND
    • Auslöser: Referenzierung oder Stornierung einer nicht vorhandenen geplanten Planänderung
    • Nachricht: Keine geplante Planänderung für dieses Abonnement gefunden.
  • SUBSCRIPTION_EXPIRED
    • Auslöser: Abrechnung über ends_at hinaus
    • Nachricht: Abonnement abgelaufen, kann keine neuen Belastungen erstellen
  • SUBSCRIPTION_INACTIVE
    • Auslöser: Status ≠ ACTIVE
    • Nachricht: Abonnement ist nicht aktiv
  • SUBSCRIPTION_NOT_ON_DEMAND
    • Auslöser: Erwarte Nachfrage, aber habe festen Intervall erhalten
    • Nachricht: Abonnement ist bereits nicht auf Nachfrage
  • SUBSCRIPTION_PAYMENT_RETRY_LIMIT_EXCEEDED
    • Auslöser: Abonnementzahlungsversuche haben das Maximum überschritten
    • Nachricht: Maximales Limit von 10 Versuchen wurde für dieses Abonnement überschritten

Produkte, Warenkorb und Marken

  • BRAND_MISMATCH
    • Auslöser: Warenkorbartikel gehören zu verschiedenen Marken
    • Nachricht: Alle Artikel im Produktwarenkorb sollten zur selben Marke gehören
  • BRAND_NOT_ENABLED
    • Auslöser: Marke ist deaktiviert oder nicht aktiv
    • Nachricht: Die angegebene Marke ist nicht aktiviert
  • BRAND_SUBMISSION_NOT_ENABLED
    • Auslöser: Funktion zur erneuten Übermittlung der Markenprüfung nicht aktiviert
    • Nachricht: Erneute Übermittlung der Markenprüfung ist nicht aktiviert
  • FILE_IN_USE
    • Auslöser: Löschen einer Digitalproduktdatei, auf die noch aktive Berechtigungszuteilungen verweisen (Pass ?force=true, um zu überschreiben)
    • Nachricht: Digitale Datei wird noch von aktiven Berechtigungen referenziert
  • INVALID_SUGGESTED_PRICE
    • Auslöser: PWYW-Preis < Mindestpreis erlaubt
    • Nachricht: Vorgeschlagener Preis kann nicht unter dem Mindestpreis liegen. Bei „Zahlen Sie, was Sie möchten“ wird der Preis als minimal akzeptierter Betrag betrachtet
  • LOCALIZED_PRICE_ALREADY_EXISTS
    • Auslöser: Ein lokalisierter Preis existiert bereits für dieses Produkt und Land/Währung
    • Nachricht: Ein lokalisierter Preis für dieses Produkt und Land/Währung existiert bereits
  • LOCALIZED_PRICE_DUPLICATES_BASE
    • Auslöser: Lokalisierter Preis verdoppelt die Basiswährung/-land des Produkts
    • Nachricht: Lokalisierter Preis verdoppelt die Basiswährung/-land des Produkts
  • LOCALIZED_PRICE_SHAPE_MISMATCH
    • Auslöser: Form des lokalisierten Preises stimmt nicht mit der pricing_mode des Produkts überein
    • Nachricht: Form des lokalisierten Preises stimmt nicht mit dem „pricing_mode“ des Produkts überein
  • MISSING_PRODUCT_INFORMATION
    • Auslöser: Produkt existiert, aber zwingende Informationen fehlen
    • Nachricht: Produkt existiert, aber andere zwingende Informationen fehlen oder sind ungültig
  • PAY_AS_YOU_WANT_AMOUNT_REQUIRED
    • Auslöser: Preis fehlt für PWYW-Produkt
    • Nachricht: Betrag ist für „Zahlen Sie, was Sie möchten“-Produkt obligatorisch
  • PRODUCT_CART_EMTPY
    • Auslöser: Leerer Produktwarenkorb eingereicht
    • Nachricht: product_cart ist leer (Der Fehlercode ist absichtlich als EMTPY geschrieben, um den genauen Wert widerzuspiegeln, den die API zurückgibt)
  • PRODUCT_COLLECTION_IS_DELETED
    • Auslöser: Betrieb auf einer Produktkollektion, die gelöscht wurde
    • Nachricht: Keine Nachricht
  • PRODUCT_COLLECTION_MUST_HAVE_PRODUCTS
    • Auslöser: Entfernen des letzten Produkts (oder der letzten Gruppe mit Produkten) aus einer Kollektion
    • Nachricht: Kann das letzte Produkt in einer Kollektion nicht löschen. Archivieren Sie stattdessen die Kollektion.
  • PRODUCT_IS_DELETED
    • Auslöser: Produkt soft-gelöscht
    • Nachricht: Keine Nachrichten
  • PRODUCT_PRICING_MODE_REQUIRED
    • Auslöser: Hinzufügen lokalisierter Preise, bevor die pricing_mode des Produkts festgelegt ist
    • Nachricht: Produkt „pricing_mode“ muss festgelegt sein, bevor lokalisierte Preise hinzugefügt werden
  • SLUG_ALREADY_TAKEN
    • Auslöser: Der angeforderte „product_slug“/kurze URL ist bereits in Verwendung
    • Nachricht: Slug ist bereits vergeben
  • UNABLE_TO_EDIT_PRIMARY_BRAND
    • Auslöser: Versuch, die primäre Marke über die reguläre API zu aktualisieren
    • Nachricht: Primäre Marke kann nicht über diesen API-Endpunkt aktualisiert werden.

Rabatte

  • DISCOUNT_ALREADY_USED_ON_SUBSCRIPTION
    • Auslöser: Erneutes Anwenden eines Rabatts, der bereits auf dieses Abonnement angewendet wurde
    • Nachricht: Dieser Rabatt wurde bereits auf dieses Abonnement angewendet
  • DISCOUNT_CODE_ALREADY_EXISTS
    • Auslöser: Duplizierung der Erzeugung von Rabattcodes
    • Nachricht: Rabattcode existiert bereits
  • DISCOUNT_CODE_EXPIRED
    • Auslöser: Rabattcode nach seinem expires_at Datum
    • Nachricht: Rabattcode abgelaufen
  • DISCOUNT_CODE_USAGE_LIMIT_EXCEEDED
    • Auslöser: Rabatt nach Erreichen von usage_limit wiederverwendet
    • Nachricht: Nutzungslimit kann nicht geringer sein als times_used / Rabattcode hat Nutzungsgrenze erreicht
  • DISCOUNT_NOT_APPLICABLE_TO_NEW_PRODUCT
    • Auslöser: Planwechsel zu einem Produkt, auf das der bestehende Rabatt nicht anwendbar ist
    • Nachricht: Rabatt nicht auf das neue Planprodukt anwendbar
  • DISCOUNT_NOT_AVAILABLE_FOR_ON_DEMAND
    • Auslöser: Code auf bedarfsbasiertes Abonnement angewendet
    • Nachricht: Rabattcoupon nicht verfügbar für bedarfsbasierte Abonnements
  • DISCOUNT_NOT_AVAILABLE_FOR_PRODUCT
    • Auslöser: Code auf nicht verwandte Produkte angewendet
    • Nachricht: Rabattcoupon nicht verfügbar für dieses Produkt
  • INVALID_DISCOUNT_CODE
    • Auslöser: Code existiert nicht / 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: Prozentsatz kann nicht mehr als 10000 sein / Rabattcodebetrag kann nicht mehr als 100% sein
  • UNSUPPORTED_DISCOUNT_TYPE
    • Auslöser: Flächenrabatte usw. noch nicht live
    • Nachricht: Derzeit werden nur Prozent-Rabattcodes unterstützt

Lizenzschlüssel

  • ACTIVATION_LIMIT_LESS_THAN_CURRENT_AMOUNT
    • Auslöser: Lizenzschlüsselaktivierungen: neues Limit < bestehende Instanzanzahl
    • Nachricht: Neues Aktivierungslimit kann nicht geringer als die aktuelle Instanzanzahl sein
  • INACTIVE_LICENSE_KEY
    • Auslöser: Schlüsselstatus ≠ ACTIVE
    • Nachricht: Lizenzschlüssel ist nicht aktiv
  • 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 wurde nicht gefunden oder gehört nicht zu diesem Lizenzschlüssel
  • NO_EXPIRY_ON_SUBSCRIPTION_LICENSE_KEYS
    • Auslöser: Versuch, Ablaufdatum für abonnementsbasierten Schlüssel festzulegen
    • Nachricht: Ablaufdatum für abonnementsbasierten Lizenzschlüssel kann nicht festgelegt werden

Nutzungsbasierte Abrechnung und Zähler

  • DUPLICATE_METER_IDS_IN_REQUEST
    • Auslöser: Gleiche Zähler-ID erscheint mehrfach in der Anfrage
    • Nachricht: Doppelte Zähler-IDs sind nicht erlaubt
  • INVALID_QUANTITY
    • Auslöser: Ungültige Menge für nutzungsbasierte Preisgestaltung angegeben
    • Nachricht: Nur 1 Menge erlaubt in nutzungsbasierten Preisprodukten
  • METER_IS_DELETED
    • Auslöser: Versuch, gelöschten Zähler zu verwenden
    • Nachricht: Der Zähler ist bereits gelöscht
  • MISSING_METER_IDS
    • Auslöser: Zähler-ID-Liste leer oder enthält ungültige IDs
    • Nachricht: Eine oder mehrere Zähler-IDs existieren nicht:

Kreditbasierte Abrechnung

  • CREDIT_ENTITLEMENT_IS_DELETED
    • Auslöser: Betrieb auf einer Kreditberechtigung, die gelöscht wurde
    • Nachricht: Die Kreditberechtigung wurde bereits gelöscht
  • CREDIT_ENTITLEMENT_NAME_ALREADY_EXISTS
    • Auslöser: Erstellung einer Kreditberechtigung mit einem bereits vorhandenen Namen
    • Nachricht: Eine Kreditberechtigung mit diesem Namen existiert bereits
  • OVERAGE_LIMIT_EXCEEDED
    • Auslöser: Eine Nutzung oder Kreditermäßigung würde das konfigurierte Überlimit überschreiten
    • Nachricht: Überlimit überschritten

Geldbörse

  • INSUFFICIENT_WALLET_FUNDS
    • Auslöser: Geldbörsenbalance < Belastungsbetrag
    • Nachricht: Unzureichende Mittel in der Geldbörse
  • NEGATIVE_BALANCE_ADJUSTMENT
    • Auslöser: Versuch, die Geldbörsenbalance negativ zu machen
    • Nachricht: Der Geldbörsensaldo darf nicht negativ gemacht werden

Währung, Steuern und Region

  • EXCHANGE_RATE_NOT_FOUND
    • Auslöser: Kein FX-Kurs für from → to Währungspaar
    • Nachricht: Wechselkurs nicht gefunden, um von Währung in Währung umzuwandeln
  • INVALID_TAX_ID
    • Auslöser: MwSt./GST/TIN Validierung fehlgeschlagen
    • Nachricht: Steuer-Id ist ungültig
  • REQUEST_AMOUNT_BELOW_MINIMUM
    • Auslöser: Betrag < Produktminimum
    • Nachricht: Betrag kann nicht unter dem Mindestbetrag liegen, der für das Produkt festgelegt wurde
  • TOTAL_PAYMENT_AMOUNT_BELOW_MINIMUM_AMOUNT
    • Auslöser: Kombinierter Warenkorbbetrag < Gateway-Mindestbetrag
    • Nachricht: Mindestbetrag von ist erforderlich, um Zahlung zu verarbeiten
  • UNSUPPORTED_BILLING_CURRENCY
    • Auslöser: Abonnements auf USD beschränkt
    • Nachricht: Nicht USD-Rechnungswährung nicht unterstützt für Abonnements
  • UNSUPPORTED_COUNTRY
    • Auslöser: Geo noch nicht unterstützt
    • Nachricht: Land derzeit nicht unterstützt
  • UNSUPPORTED_CURRENCY
    • Auslöser: Produkt- oder Addon-Währung ungültig
    • Nachricht: Währung wird derzeit nicht unterstützt / Nur USD- und INR-Produkte werden derzeit unterstützt / Nur USD und INR werden für Addon-Preis unterstützt / Kann nur USD oder INR für „billing_currency“ anfordern / Währung nicht unterstützt / Unerwartete Währung für indische Kartenzahlungsabonnements
  • UNSUPPORTED_TAX_CATEGORY
    • Auslöser: Steuerkategorie-String nicht im Enum
    • Nachricht: Kategorie wird derzeit nicht unterstützt

Validierung und Anfragen

  • DUPLICATE_LINE_ITEMS_IN_REQUEST
    • Auslöser: Derselbe item_id erscheint zweimal in items[]
    • Nachricht: Doppelte „item_ids“ in der Artikel-Array angegeben
  • INVALID_QUERY_PARAMS
    • Auslöser: Gegensätzliche/externe Abfrageparameter
    • Nachricht: Abfrageparameter sollten entweder „time_frame“ oder (start, end) enthalten
  • INVALID_REQUEST_BODY
    • Auslöser: Fehlbildungs-JSON oder Schema-Verletzung
    • Nachricht: Ihr Anfrage-Body ist ungültig. Bitte überprüfen Sie Ihre Anfrage-Header und Objekt.
  • INVALID_REQUEST_PARAMETERS
    • Auslöser: Semantische Fehler (z.B. Datum in der Vergangenheit)
    • Nachricht: Nächstes Abrechnungsdatum kann nicht in die Vergangenheit geändert werden
  • MAXIMUM_KEYS_REACHED
    • Auslöser: Metadaten / benutzerdefinierte Felder übersteigen 50 Paare
    • Nachricht: Übersteigt 50 Schlüssel-Wert-Paare

Allgemein und System

  • INTEGER_CONVERSION_FAILURE
    • Auslöser: Jeder ganze Zahl ↔ Zeichenfolge/Dezimalumwandlung, die serverseitig fehlschlägt
    • Nachricht: Fehler bei der Konvertierung ganzer Zahlen
  • INTERNAL_SERVER_ERROR
    • Auslöser: Nicht abgefangene Ausnahmen; Details sollten serverseitig protokolliert werden
    • Nachricht: Keine öffentliche Nachricht (allgemeines 500)
  • NOT_FOUND
    • Auslöser: Allgemeines 404 für jede fehlende Ressource
    • Nachricht: Artikel nicht gefunden (oder spezifischer)
  • TOO_MANY_REQUESTS
    • Auslöser: 429 Ratenlimit
    • Nachricht: Keine Nachrichten
  • UNSUPPORTED_ACTION
    • Auslöser: Nicht unterstützte Aktion für Ressourcentyp
    • Nachricht: Planwechsel für nutzungsbasierte Abonnements wird nicht unterstützt

Best Practices

  1. Behandeln Sie Fehler in Ihrer Anwendung immer sorgfältig
  2. Implementieren Sie eine ordnungsgemäße Fehlerprotokollierung
  3. Verwenden Sie geeignete Fehlermeldungen für Endbenutzer
  4. Implementieren Sie eine Wiederholungslogik für vorübergehende Fehler
  5. Kontaktieren Sie den Support für ungelöste Probleme

Support

Für zusätzliche Hilfe mit Fehlercodes oder Integrationsproblemen wenden Sie sich bitte an unser Support-Team unter support@dodopayments.com.
Zuletzt geändert am 18. Juni 2026