Refunds & Notifications · Article 6.7
Status aktualisieren – Pull-basierte Synchronisierung, wenn der Stripe-Webhook nicht ankam
Webhooks sind nicht unfehlbar. Wenn eine Gutschrift im Status `angefordert` feststeckt, obwohl Stripe die Erstattung bereits verarbeitet hat, klicken Sie auf `Status aktualisieren`, um den aktuellen Stand direkt von Stripe abzurufen. Dieselbe Übergangslogik wie beim Webhook; kein Risiko doppelt ausgelöster Nebeneffekte.
„Status aktualisieren" ist die Schaltfläche zum Prüfen der Reifen. Wenn alles funktioniert, liefert der Webhook Stripes Urteil innerhalb von Sekunden und Sie brauchen diese Schaltfläche nicht. Wenn der Webhook verzögert oder verloren gegangen ist (Netzwerkfehler an Ihrem Endpunkt, Stripes Webhook-Warteschlange ausgelastet, Ihr Endpunkt hat eine 5xx-Antwort zurückgegeben und damit Stripes 3-Tage-Wiederholungsfenster erschöpft), ermöglicht „Aktualisieren" den Push-Kanal zu umgehen und die Antwort direkt abzurufen. Das Ergebnis ist dasselbe, als wäre der Webhook sauber eingegangen.
Step by step
Feststeckenden
angefordert-Status bemerken.Banner zeigt „Erstattung läuft, voraussichtlich in 3–5 Werktagen" und bleibt für mehr als 24 Stunden statisch.
Auf
Status aktualisierenklicken.Aus dem Erstattungs-Banner oder von der Zeile auf der Gutschriftenseite.
Ca. 2 Sekunden warten.
Der Server ruft die Stripe-API auf dem verknüpften Konto auf; ermittelt den kanonischen Status.
UI aktualisiert sich an Ort und Stelle.
Wenn Stripe
succeededmeldet → Banner wechselt zu „Erstattung abgeschlossen am [Datum]"; E-Mail „Erstattung abgeschlossen" wird versendet; Angebot schließt, falls zutreffend. Wennfehlgeschlagen→ Banner bietet Optionen „Erneut versuchen" / „Als erstattet markieren". Wenn auf Stripes Seite noch ausstehend → Banner-Text aktualisiert sich entsprechend dem von Stripe gemeldeten Status.Keine weitere Aktion erforderlich, wenn der Status gewechselt hat.
Alle nachgelagerten Hooks werden automatisch ausgelöst.
Erstattungs-Banner mit der Schaltfläche Status aktualisieren. Nach dem Klicken kurz einen Ladeindikator, dann entweder keine Änderung (Stripe noch ausstehend) oder Banner-Update auf den Endzustand.
Why this works this way
Warum eine manuelle Schaltfläche statt eines täglichen Cron-Sync? Kosten und Latenz. Ein Cron-Job, der Stripe täglich für jede angeforderte Gutschrift abfragt, fügt Stripes Rate-Limits eine konstante API-Last hinzu UND führt bis zu 24 Stunden Latenz vor einem UI-Update ein. Die manuelle Schaltfläche verursacht Kosten dort, wo sie tatsächlich gebraucht wird (der Freiberufler fragt sich, warum das Banner feststeckt), und liefert nahezu sofortige Auflösung. Wir könnten einen automatisierten Sync hinzufügen, wenn Support-Tickets zeigen, dass er wertvoll wäre, aber der manuelle Weg deckt ca. 95% der Fälle ab.
Troubleshooting
Keep reading
Refunds & Notifications
Stripe automatic refund (Direct Charges via Connect)
When the original deposit was paid via Stripe, the refund is automatic. Clozo issues a Refund on the freelancer's connected account, watches for the `refund.updated` webhook, and flips the credit note to `succeeded` once Stripe confirms — typically within 3–5 business days for the cash to reach the client.
Refunds & Notifications
Refund stages: issued → requested → succeeded (or manual)
The credit note moves through up to four states from creation to settled. Each state corresponds to a specific point in the refund lifecycle, with predictable UI badges and email triggers.
Refunds & Notifications
Failed refunds & recovery — common Stripe failure reasons
A `failed` credit note has a `refund_failure_reason` string from Stripe. Most reasons fall into a small set; here's what each means and the recommended recovery.
Refunds & Notifications
The Credit Notes page
A first-class section in the freelancer dashboard that lists every credit note across all your proposals, with status, refund amount, linked proposal, and action buttons. Use this when you want to manage refunds without drilling into each proposal individually.