Zum Hauptinhalt springen
Stripe · Dunning · Payment Recovery

Stripe Dunning: Fehlgeschlagene Zahlungen automatisch zurückholen

Bis zu 20–30 % des Subscription-Churns ist unfreiwillig – Kunden, die zahlen wollen, deren Zahlungsmittel aber temporär versagt. codehero baut automatisierte Stripe-Dunning-Workflows mit Smart Retries, Stripe-hosted E-Mails und Custom-Recovery-Flows, damit diese Zahlungen zurückkommen.

Zahlungsfehler kosten still und leise Umsatz

Die meisten Abonnement-Plattformen unterschätzen, wie viel Umsatz durch temporäre Zahlungsfehler verloren geht.

  • Abgelaufene Karten

    Bis zu 10 % der Abos sind pro Quartal von abgelaufenen Kartendaten betroffen – der häufigste Dunning-Grund.

  • Fehlgeschlagene Lastschriften

    SEPA-Rückbuchungen führen bei vielen Plattformen automatisch zur Kündigung – ohne jede Gegenwehr.

  • Kein automatischer Retry

    Ohne Smart Retries bleibt es beim ersten Fehlversuch. Manuelle Nachverfolgung kostet Zeit und schlägt oft fehl.

  • Keine E-Mail-Eskalation

    Kunden wissen häufig nicht, dass ihre Zahlung fehlgeschlagen ist – und kündigen deshalb nicht aktiv, werden aber trotzdem abgemeldet.

Wie codehero Ihren Dunning-Workflow aufbaut

Sechs Bausteine – von Smart Retries bis zur pausierenden Subscription – die zusammen fehlgeschlagene Zahlungen systematisch zurückholen.

  • Smart Retries

    Stripe nutzt ein ML-Modell, das den optimalen Zeitpunkt für den nächsten Zahlungsversuch berechnet – bis zu 4-mal innerhalb der Dunning-Periode.

  • invoice.payment_failed Webhook

    Sofortige Reaktion auf jeden Zahlungsfehler: Status-Update in Ihrer Datenbank, Eskalationslogik starten, Kunden informieren.

  • Stripe-hosted Dunning-E-Mails

    Konfigurierbare E-Mail-Sequenz direkt aus Stripe: Tag 1, 7 und 14 mit Update-Link – ohne eigene E-Mail-Infrastruktur.

  • Custom Dunning Workflow

    Eigene E-Mail-Sequenz mit Ihrem Branding, In-App-Banner und Push-Notifications über Ihren Webhook-Handler.

  • Zahlungsmethode aktualisieren

    Sicherer Update-Link (hosted_invoice_url oder Billing Portal) – der Kunde hinterlegt eine neue Karte ohne Login.

  • Subscription Pause statt Cancel

    Grace Period einrichten: Abonnement pausieren statt sofort kündigen – Reaktivierung ohne Datenverlust möglich.

Der Dunning-Ablauf im Detail

  1. invoice.payment_failed

    Stripe feuert den Webhook sofort – Subscription-Status wird auf past_due gesetzt, Dunning-Timestamp in die Datenbank geschrieben.

  2. Smart Retry

    Stripe versucht die Zahlung automatisch zu optimalen Zeitpunkten (3–4× innerhalb der Dunning-Periode) – ML-basiert, kein festes Intervall.

  3. E-Mail-Eskalation

    Tag 1: „Ihre Zahlung ist fehlgeschlagen" + Update-Link. Tag 7: Erinnerung. Tag 14: letzte Chance. Custom-Branding optional.

  4. Recovery oder Offboarding

    Erfolg: invoice.payment_succeeded → Subscription active. Misserfolg: subscription.deleted → Offboarding-Flow mit Datenerhalt für spätere Reaktivierung.

Der Webhook-Handler: invoice.payment_failed

So sieht der Einstiegspunkt eines Dunning-Workflows in Next.js aus – transparent, typsicher und sofort einsatzbereit.

app/api/webhooks/stripe/route.ts — invoice.payment_failed Handler
// Stripe Webhook: invoice.payment_failed → Dunning starten
import Stripe from 'stripe'
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!)
export async function POST(req: Request) {
const body = await req.text()
const sig = req.headers.get('stripe-signature')!
const event = stripe.webhooks.constructEvent(
body, sig, process.env.STRIPE_WEBHOOK_SECRET!
)
if (event.type === 'invoice.payment_failed') {
const invoice = event.data.object
const customerId = invoice.customer as string
// Status in DB auf past_due setzen
await db.subscriptions.update({
where: { stripeCustomerId: customerId },
data: { status: 'past_due', dunningStartedAt: new Date() },
})
// Kundenbenachrichtigung triggern
await sendDunningEmail(customerId, invoice.hosted_invoice_url)
}
return Response.json({ received: true })
}

Next.js 15 App Router · Stripe SDK · TypeScript · Prisma ORM · AWS Lambda optional

Dunning vs. Forderungsmanagement – der wichtige Unterschied

Dunning bei Stripe bezeichnet das automatische Wiederversuchen fehlgeschlagener Kartenzahlungen und das Reaktivieren von Abonnements bei vorübergehenden Zahlungsfehlern (z. B. abgelaufene Karte, vorübergehend gedecktes Konto). Es geht um unfreiwilligen Churn — Kunden, die eigentlich zahlen wollen.

Forderungsmanagement hingegen betrifft bewusst nicht zahlende Kunden (Zahlungsverzug, offene Rechnungen, rechtliche Schritte). Das sind andere Prozesse, andere Tools und andere Verantwortlichkeiten. Das behandelt unsere Seite Stripe Forderungsmanagement.

Kein Dunning vs. Stripe-Standard vs. codehero Custom

Was der Unterschied in der Praxis bedeutet – für Ihre Recovery-Rate und Ihren Umsatz.

Dunning-Vergleich: Kein Dunning vs. Stripe-Standard vs. codehero Custom Dunning
KriteriumKein DunningStripe-Standardcodehero Custom Dunning
Smart Retries aktiv
E-Mail-Eskalationssequenz
Custom E-Mail-Branding
In-App-Banner & Hinweis
Zahlungsmethode selbst aktualisieren
Recovery-Rate-Tracking

Häufige Fragen zu Stripe Dunning & Payment Recovery

Verifizierte Stripe-Zertifizierungen

4× Stripe-zertifiziert – öffentlich nachprüfbar

Wolfgang Müller, Gründer von codehero – jedes Badge ist direkt bei Stripe/credential.net verifizierbar.

Weniger unfreiwilliger Churn durch Dunning?

codehero richtet Ihren Stripe Smart Retry & Dunning-Workflow ein – von der Webhook-Logik bis zur personalisierten E-Mail-Sequenz. Kostenloses Erstgespräch.