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:| Feld | Typ | Beschreibung |
|---|---|---|
status | string | failed für eine fehlgeschlagene Zahlung. Andere Nicht-Erfolgszustände umfassen cancelled, requires_customer_action und requires_payment_method. |
error_code | string | null | Der standardisierte Grund des Fehlers, zum Beispiel INSUFFICIENT_FUNDS oder PROCESSING_ERROR. Siehe die Transaction Failures Referenz für die vollständige Liste. |
error_message | string | null | Eine lesbare Erklärung des Fehlers. |
retry_attempt | integer | 0 für die ursprüngliche Belastung. 1 oder höher identifiziert einen geplanten Abonnementverlängerungsversuch. |
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
error_code und leitet darauf weiter:
Entscheiden, ob ein neuer Versuch unternommen werden soll: Weiche vs. harte Ablehnungen
Dererror_code sagt Ihnen, ob ein neuer Versuch mit derselben Zahlungsmethode sinnvoll ist.
| Ablehnungstyp | Was es bedeutet | Was zu tun ist |
|---|---|---|
| Weiche Ablehnung | Vorübergehend oder korrigierbar (zum Beispiel INSUFFICIENT_FUNDS, PROCESSING_ERROR, NETWORK_ERROR, TRY_AGAIN_LATER). | Wiederholen – nach einer Verzögerung oder sobald der Kunde seine Eingabe korrigiert – kann erfolgreich sein. |
| Harte Ablehnung | Endgültig (zum Beispiel STOLEN_CARD, LOST_CARD, DO_NOT_HONOR, FRAUDULENT). | Wiederholen Sie nicht dieselbe Karte. Bitten Sie den Kunden um eine andere Zahlungsmethode. |
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.- At checkout (customer present)
- On subscription renewal (customer not present)
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_linkerneut, damit der Kunde es erneut mit einer anderen Methode versuchen kann. Es gibt keinen automatischen Wiederholungsversuch für einmalige Zahlungen.
Fehler sicher an Kunden übermitteln
Zeigen Sie Kunden eine freundliche Nachricht an — niemals den rohenerror_code.
Customer-facing messaging
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.