Zum Hauptinhalt springen
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.

Der payment.failed Webhook

Der zuverlässigste Weg, einen Fehler zu erkennen, ist der payment.failed Webhook. Das Ereignis umfasst das gesamte Zahlungsobjekt in data:
payment.failed payload
Ein minimaler Handler liest error_code und leitet darauf weiter:
Verifizieren Sie immer die Webhook-Signatur, bevor Sie fortfahren. Siehe den Webhooks-Leitfaden für die vollständige Einrichtung, einschließlich Signaturprüfung und Idempotenz.

Entscheiden, ob ein neuer Versuch unternommen werden soll: Weiche vs. harte Ablehnungen

Der error_code sagt Ihnen, ob ein neuer Versuch mit derselben Zahlungsmethode sinnvoll ist. Die Transaction Failures Referenz listet den Ablehnungstyp und die empfohlene Maßnahme für jeden error_code auf.

Umgang mit Ausfällen beim Checkout vs. bei der Verlängerung

Wie Sie sich erholen, hängt davon ab, ob der Kunde anwesend ist.
Der Kunde ist aktiv beim Checkout. Zeigen Sie eine klare Nachricht an und lassen Sie ihn sofort erneut versuchen oder eine andere Karte verwenden.
  • requires_payment_method — der Kunde hat keine Zahlungsmethode angegeben: Er hat keine Kartendetails eingegeben oder wurde aufgefordert, eine anzugeben, und hat keine Aktion unternommen. Dies ist normalerweise ein Checkout-Abbruch, keine Ablehnung — holen Sie den Kunden zurück, um die Zahlung abzuschließen (siehe Abandoned Cart Recovery).
  • requires_customer_action — zusätzliche Authentifizierung (z. B. 3DS) ist erforderlich; lassen Sie den Kunden diese abschließen. Siehe 3D Secure Handling.

Erneuerung einer fehlgeschlagenen Zahlung

  • Abonnements: Aktivieren Sie Subscription Payment Retries, um weiche Ablehnungen ohne Integrationsarbeit wiederherzustellen. Sie können die Wiederherstellung auch auslösen, indem der Kunde seine Zahlungsmethode über die Update Payment Method API aktualisiert, die alle ausstehenden Gebühren belastet.
  • Einmalige Zahlungen: Senden Sie den Checkout oder payment_link erneut, damit der Kunde es erneut mit einer anderen Methode versuchen kann. Es gibt keinen automatischen Wiederholungsversuch für einmalige Zahlungen.
Versuchen Sie nicht, harte Ablehnungen gegen dieselbe Karte zu wiederholen. Kartennetzwerke können wiederholte Ablehnungen als missbräuchlich kennzeichnen, was Ihre Autorisierungsrate beeinträchtigt.

Fehler sicher an Kunden übermitteln

Zeigen Sie Kunden eine freundliche Nachricht an — niemals den rohen error_code.
Customer-facing messaging
Offenbaren Sie niemals den echten Grund für STOLEN_CARD, LOST_CARD, PICKUP_CARD, oder FRAUDULENT. Die Anzeige dieser Gründe kann einen Betrüger warnen. Zeigen Sie eine allgemeine Ablehnungsnachricht an und speichern Sie nur den spezifischen error_code intern.

Verwandt

Transaction Failures

Jeder Ablehnungs-Code, sein Typ und die empfohlene Aktion.

Error Codes

API- und Geschäftslogikfehler, die keine Kartenablehnungen sind.

Subscription Payment Retries

Automatische Wiederherstellung von weichen Ablehnungen bei Abonnementverlängerungen.

Subscription Dunning

E-Mail-Sequenzen, die harte Ablehnungen wiederherstellen.

Payment Webhooks

Vollständiges Payload-Schema für Zahlungsereignisse.

Testing Failures

Testkarten, die Ablehnungen und Verlängerungsausfälle simulieren.
Zuletzt geändert am 18. Juni 2026