WooCommerce-Abos in Wartestellung + Stripe Unvollständig?
Wenn sich in deinem Stripe-Dashboard unvollständige Zahlungen stapeln und deine Abo-Verlängerungen in WooCommerce fehlschlagen, ist die Verknüpfung zwischen Abo und Stripe-Zahlungsmethode gerissen. Dieses Plugin repariert die kaputten Zahlungsreferenzen und stößt die offenen Verlängerungszahlungen sicher, geprüft und vollautomatisch im Batch wieder an – mit Doppelzahlungs-Schutz, Fehlerprotokoll und maximal einem Zahlungsversuch pro Bestellung.
Diese Symptome kennst du, wenn es dich erwischt hat
Stripe-Dashboard ist voll mit Zahlungen im Status „Unvollständig
Deine Abonnements springen nach und nach auf „In Wartestellung“
Verlängerungsbestellungen schlagen fehl mit der Meldung „Zahlungs-Wiederholungsversuch durch Kunden“
Oder Stripe meldet:
„Die wiederkehrende Zahlung für Bestellung ist fehlgeschlagen. Grund: Using a SEPA Debit Source in the `payment_method` field has been deprecated and is no longer a valid integration path. Please reference the following support article to learn how to resolve this error: https://support.stripe.com/questions/i-received-an-error-when-trying-to-use-a-sepa-direct-debit-source-how-should-i-handle-it“
Im Abonnement fehlen plötzlich die Stripe-Referenzen (`cus_…`, `pm_…`) oder es steht noch eine alte `src_…`-ID drin.
Monat für Monat rutschen mehr zahlende Kunden in die Wartestellung – der Umsatz läuft dir weg, obwohl die Kunden nie gekündigt haben und ihre Zahlungsdaten bei Stripe intakt sind.
Wenn du auch nur zwei dieser Punkte wiedererkennst, hast du sehr wahrscheinlich dasselbe Problem wie hunderte andere WooCommerce-Shops – und es behebt sich **nicht** von selbst.
Die Ursache
Warum deine SEPA-Abos nicht mehr abgebucht werden!
Stripe hat die alte Sources API abgeschaltet, über die das offizielle WooCommerce-Stripe-Gateway jahrelang SEPA-Lastschriften eingezogen hat. Beim Umstieg auf die neue Checkout-Erfahrung migriert das Stripe-Plugin die alten `src_…`-Zahlungstokens automatisch auf neue PaymentMethods (`pm_…`) – aber nur, wenn der Token im richtigen Meta-Feld steht.
Genau da liegt das Problem: Wer früher ein anderes Stripe-Plugin im Einsatz hatte (z. B. Payment Plugins „WooCommerce Stripe“), hat die Tokens in **anderen Datenbankfeldern**. Die Migration läuft ins Leere, das Abo behält eine leere oder tote Zahlungsreferenz – und jede Verlängerung schlägt fehl: erst „PaymentIntent missing a payment method“, später „retry skipped – manual renewal“, am Ende Wartestellung.
Deshalb stauen sich in Stripe die „unvollständigen“ Zahlungen: WooCommerce legt bei jeder fälligen Verlängerung zwar brav einen neuen PaymentIntent bei Stripe an – kann ihm aber keine Zahlungsmethode mitgeben, weil die Verknüpfung fehlt. Der Intent bleibt für immer im Status „Unvollständig“ hängen, es wird nie Geld eingezogen. Jede dieser unvollständigen Zahlungen in deinem Stripe-Dashboard ist ein fälliger Umsatz, der nicht eingezogen wurde – und gleichzeitig der Beweis, dass es nicht am Kunden liegt: Seine Zahlungsmethode und sein SEPA-Mandat existieren bei Stripe weiterhin, nur eben unverknüpft.
Das Tückische: Die gültigen Zahlungsdaten deiner Kunden „existieren weiterhin bei Stripe“. Sie sind nur nicht mehr mit dem Abo verknüpft. Die Mandate sind da, die Kunden wollen zahlen – WooCommerce weiß nur nicht mehr, wie.
Warum manuelles Reparieren nicht skaliert
Von Hand reparierst du das nicht – und riskierst Doppelabbuchungen
Theoretisch kannst du jedes Abo einzeln öffnen, die richtige `pm_…`-ID im Stripe-Dashboard heraussuchen, in die Datenbank schreiben, die Verlängerungsbestellung reparieren und die Zahlung neu anstoßen. Bei 20 Abos ist das ein Nachmittag. Bei 500 oder 900 Abos ist es ein Monat Arbeit – mit brandgefährlichen Fallen:
Wer im Abo die Aktion „Verlängerung verarbeiten“ nutzt, erzeugt eine **zweite Forderung** → Kunde zahlt doppelt.
Wer eine Bestellung anstößt, deren SEPA-Zahlung bereits unterwegs ist, bucht **doppelt ab** → Rücklastschriften, Gebühren, wütende Kunden.
Wer den Überblick verliert, stößt dasselbe Abo zweimal an.
Genau dafür haben wir dieses Plugin gebaut – zuerst für unseren eigenen Shop mit über 900 betroffenen Abos.
Unsere Lösung
Ein Plugin, das den kompletten Reparatur-Workflow automatisiert
Der LW WC Stripe Renewal Batch Processor arbeitet deine betroffenen Abos als Liste ab – du fügst nur die Abo-IDs ein, alles Weitere passiert automatisch:
Prüfen: Jedes Abo durchläuft über 15 Sicherheitsprüfungen – live gegen WooCommerce und gegen die Stripe-API (Zahlungsmethode existiert, gehört zum richtigen Stripe-Kunden, IBAN-Endziffern und Bankkonto-Fingerprint stimmen, Live-Modus passt, kein laufender PaymentIntent, keine bereits bezahlte neuere Verlängerung, keine Zahlung in der Schwebe).
Reparieren: Fehlende `pm_…`-/`cus_…`-Referenzen werden aus der von Stripe hinterlegten Migrationszuordnung ermittelt, verifiziert und in Abo **und** Verlängerungsbestellung eingetragen – mit automatischem Backup der alten Werte.
Anstoßen: Erst wenn alle Prüfungen grün sind, wird die Verlängerungszahlung ausgelöst – über exakt denselben Mechanismus wie die WooCommerce-Bestellaktion „Verlängerungszahlung erneut versuchen“. Diesmal mit korrekt verknüpfter Zahlungsmethode: Statt eines weiteren „unvollständigen“ Intents entsteht in Stripe eine echte SEPA-Abbuchung. **Pro Bestellung maximal ein Zahlungsversuch.**
Die alten „unvollständigen“ Zahlungen in Stripe stören dabei nicht – sie sind nie eingezogen worden und laufen bei Stripe automatisch aus. Das Plugin prüft vor jedem Anstoß trotzdem den auf der Bestellung gespeicherten PaymentIntent live: Nur wenn er sicher nicht in Zahlung ist (unvollständig, abgebrochen, fehlgeschlagen), wird neu angestoßen.
Was nicht hundertprozentig sicher ist, wird übersprungen und protokolliert statt riskiert. Ein Abo, das schon einmal angestoßen wurde, wird dauerhaft erkannt und nie doppelt belastet – selbst wenn du es versehentlich nochmal in die Liste wirfst.
Interessiert an dem Plugin?
Teilen Sie uns mit ob sie das Plugin erwerben wollen und wir setzen uns mit Ihnen in Kontakt um weitere EInzelheiten zu besprechen.
