Skip to main content
Wenn eine Zahlung fehlschlägt, teilt Ihnen Dodo Payments warum mit durch einen standardisierten error_code und eine lesbare error_message. Dieser Leitfaden zeigt, wie diese Felder gelesen werden, entschieden wird, ob ein neuer Versuch sinnvoll ist, und wie die Zahlung wiederhergestellt wird, ohne sensible Informationen an Kunden weiterzugeben.

Wie Dodo Payments einen Ausfall meldet

Jede fehlgeschlagene Zahlung – sei es ein einmaliger Kauf oder eine Abonnementverlängerung – enthält dieselben Fehlerfelder im Zahlungsobjekt:
error_code und error_message sind null, bis eine Zahlung tatsächlich fehlschlägt. Überprüfen Sie zuerst status, und dann lesen Sie die Fehlerfelder.
error_message aus der Merchant API ist ein für Händler bestimmter Text. Er kann den tatsächlichen Grund für eine Ablehnung nennen, einschließlich betrugsbezogener Gründe. Zeigen Sie ihn daher niemals direkt einem Kunden an. Ordnen Sie error_code stattdessen Ihren eigenen kundenfreundlichen Formulierungen zu, wie unter Fehler sicher für Kunden anzeigen gezeigt.

Der payment.failed Webhook

Die zuverlässigste Methode, einen Fehler zu erkennen, ist der payment.failed Webhook. Das Ereignis enthält das vollständige Zahlungsobjekt in data:
payment.failed payload
Ein minimaler Handler liest error_code aus und führt anhand dieses Werts eine Weiterleitung durch:
Überprüfen Sie immer die Webhook-Signatur, bevor Sie den Webhook verarbeiten. Im Webhooks-Leitfaden finden Sie die vollständige Einrichtung einschließlich Signaturüberprüfung und Idempotenz.

Entscheiden, ob ein Wiederholungsversuch sinnvoll ist: Soft- und Hard-Declines

error_code zeigt an, ob sich ein erneuter Versuch mit derselben Zahlungsmethode lohnt. Die Referenz Transaction Failures enthält für jedes error_code den Typ der Ablehnung und die empfohlene Aktion.

Fehlerbehandlung beim Checkout und bei Verlängerungen

Wie Sie den Fehler beheben, hängt davon ab, ob der Kunde anwesend ist.
Der Kunde führt gerade den Checkout durch. Zeigen Sie eine klare Meldung an und ermöglichen Sie ihm, es sofort erneut zu versuchen oder eine andere Karte zu verwenden.
  • requires_payment_method – der Kunde hat nie eine Zahlungsmethode angegeben: Er hat keine Kartendaten eingegeben oder wurde dazu aufgefordert und hat keine Aktion ausgeführt. Dies ist normalerweise ein Abbruch beim Checkout und keine Ablehnung – sprechen Sie den Kunden erneut an, damit er die Zahlung abschließt (siehe Wiederherstellung abgebrochener Warenkörbe).
  • requires_customer_action – eine zusätzliche Authentifizierung (z. B. 3DS) ist erforderlich. Lassen Sie den Kunden diese abschließen. Siehe 3D-Secure-Verarbeitung.

Erneuter Versuch einer fehlgeschlagenen Zahlung

  • Abonnements: Aktivieren Sie Subscription Payment Retries, um Soft declines ohne Integrationsaufwand zu beheben. Sie können die Wiederherstellung auch auslösen, indem der Kunde seine Zahlungsmethode über die Update Payment Method API aktualisiert, wodurch alle ausstehenden Beträge belastet werden.
  • Einmalige Zahlungen: Senden Sie den Checkout oder payment_link erneut, damit der Kunde es mit einer anderen Zahlungsmethode versuchen kann. Für einmalige Zahlungen gibt es keinen automatischen Wiederholungsversuch.
Versuchen Sie Hard declines nicht erneut mit derselben Karte. Kartennetzwerke können wiederholte Ablehnungen als Missbrauch einstufen, was Ihre Autorisierungsrate beeinträchtigt.

Fehler sicher für Kunden anzeigen

Zeigen Sie Kunden eine freundliche Meldung an – niemals den rohen error_code und niemals den für Händler bestimmten error_message.
Auf von Dodo Payments kontrollierten Oberflächen – Checkout, dem Customer Portal und Dunning-E-Mails – ist diese Zuordnung bereits für Sie eingerichtet, einschließlich des Fallbacks auf eine allgemeine Meldung bei betrugsbezogenen Ablehnungen. Sie benötigen die folgende Zuordnung nur, wenn Sie Fehler in Ihrem eigenen Produkt anzeigen.
Customer-facing messaging
Geben Sie niemals den tatsächlichen Grund für STOLEN_CARD, LOST_CARD, PICKUP_CARD oder FRAUDULENT preis. Die Anzeige dieser Gründe kann einen Betrüger warnen. Zeigen Sie eine allgemeine Ablehnungsmeldung an und protokollieren Sie den spezifischen error_code nur intern.

Verwandte Themen

Transaction Failures

Jeder Ablehnungscode, sein Typ und die empfohlene Aktion.

Error Codes

API- und Geschäftslogikfehler, bei denen es sich nicht um Kartenablehnungen handelt.

Subscription Payment Retries

Automatische Behebung von Soft declines bei Verlängerungen von Abonnements.

Subscription Dunning

E-Mail-Sequenzen zur Behebung von Hard declines.

Payment Webhooks

Vollständiges Payload-Schema für Zahlungsereignisse.

Testing Failures

Testkarten, die Ablehnungen und Fehler bei Verlängerungen simulieren.
Zuletzt geändert am 8. August 2026