Direkt zum Hauptinhalt

Donations Troubleshooting

Erst prüfen: kommt das Event über den Generic-Webhook (externer Provider) oder über die Chatlix-Tip-Page (Mollie)? Die Fehlerbilder unterscheiden sich, siehe „Donations Grundlagen" für die Abgrenzung.

Donation kam an, aber kein Cinematic / Overlay-Alert

  1. History prüfen: steht das Event auf der Donations-Seite? Wenn nein: Provider sendet nicht, oder Webhook 401/403/404 (siehe „Provider einrichten").
  2. Automation prüfen: Rule mit Trigger donation_received (oder donation_threshold für Mindestbeträge) und passender Action angelegt?
  3. Overlay-Fanout separat von Automation: Der Overlay-Alert-Banner läuft automatisch für jedes eingehende Event an alle aktiven Overlays des Kanals — dafür brauchst du keine eigene Automation-Regel. Fehlt der Alert trotzdem, prüfe ob überhaupt ein Overlay-Browser-Source im OBS aktiv/verbunden ist.
  4. Cooldown prüfen: Trigger-Cooldown im Automation-Editor — bei z.B. 60s werden echte Mehrfach-Donations im Fenster ebenfalls unterdrückt, nicht nur Duplikate.

Status duplicate häufig

Normal — der Provider hat nach einem 5xx erneut gesendet. Chatlix erkennt das über einen Dedupe-Hash (bei vorhandener event_id providerseitig, sonst über ein 30-Sekunden-Fenster aus Betrag+Name+Nachricht) und verwirft still. Du verlierst nichts, aber: sehr kurze, ähnliche Mehrfach-Spenden im selben 30s-Fenster ohne event_id können fälschlich als Duplikat erkannt werden — das ist ein bekannter Trade-off des Fallback-Hashings, kein Datenverlust-Bug.

Status failed

Das Event kam an, konnte aber nicht normalisiert werden. Häufige Ursachen bei der Generic-Webhook-Adapter-Validierung:

  • missing_amount — weder amount noch amount_minor im Payload.
  • amount_negative / amount_too_large — Betrag negativ oder über 99.999,99 (Chatlix ist kein Zahlungssystem, das ist eine Plausibilitätsgrenze).
  • currency_invalid — Währungscode ist nicht exakt 3 Grossbuchstaben (ISO-4217-Format, z.B. EUR, nicht € oder eur).
  • Provider hat sein Payload-Format geändert (Feldnamen umbenannt) — der Generic-Adapter erwartet konkret amount/amount_minor, currency, donor_name, message, anonymous, optional event_id und created_at. Wenn dein Zwischen-Service (Zapier o.ä.) andere Feldnamen schickt, mappe sie vorher um.

Wenn failed häufig auftritt, im Support-Discord mit einem Beispiel-Payload melden.

Donor-Name kommt anonymisiert / leer

Wenn anonymous/is_anonymous im Payload gesetzt ist oder der Donator „anonym" gewählt hat, speichert Chatlix bewusst keinen Namen (Datenminimierung) — das Event zeigt dann keinen Donor-Namen an. Das ist kein Bug. Bei der Tip-Page gilt zusätzlich: wenn die Tip-Page „Anonyme Spenden erlauben" deaktiviert hat, wird ein anonym markierter Spender stattdessen als „Spender" gespeichert (Policy-Entscheidung, kein Fehler).

Betrag stimmt nicht / Währung falsch

  • Chatlix speichert Beträge in Minor Units (Cent). Im Dashboard/Overlay wird in Hauptwährung formatiert — wenn dein Provider selbst schon in Cent sendet, aber du das Feld amount statt amount_minor nutzt, verzehnfacht/verhundertfacht sich der Betrag scheinbar. Prüfe, welches Feld dein Zwischen-Service tatsächlich befüllt.
  • Nicht erkannte Währung → currency_invalid, siehe oben.

Webhook funktionierte gestern, heute nicht (Generic-Webhook)

  • Secret regeneriert? Der Provider/Zwischen-Service hat dann noch den alten Header-Wert.
  • Webhook im Dashboard deaktiviert (Schalter „Webhook-Konfiguration")? Antwort ist dann 403 donation_ingest_disabled.
  • Rate-Limit erreicht (60/Minute)? Antwort 429 rate_limited — passiert z.B. bei einem Spende-Sturm während eines Charity-Streams. Events, die während des Limits ankommen, werden vom Provider i.d.R. retried, nicht endgültig verworfen — aber verlass dich nicht darauf, prüfe die History danach.
  • Provider-Wartung/Ausfall? Provider-Status-Page checken, bevor du an der Chatlix-Konfiguration drehst.

Tip-Page (Mollie) hängt oder zeigt Fehler

  • tip_page_not_found / 404 — Slug falsch, oder Tip-Page wurde nie aktiviert.
  • tip_page_inactive / 410 — Tip-Page im Dashboard deaktiviert.
  • rate_limited_ip / rate_limited_slug — mehr als 10 Checkout-Starts/Stunde von derselben IP bzw. mehr als 200/Tag auf derselben Tip-Page. Bei einem grossen Charity-Stream kann das eng werden — im Support melden, wenn das absehbar ist.
  • server_misconfigured — auf Chatlix-Seite fehlt eine Server-Konfiguration (z.B. IP-Hash-Salt). Kein Nutzerfehler, im Support melden.
  • mollie_error / mollie_response_incomplete — Mollie hat den Zahlungsstart abgelehnt oder unvollständig beantwortet. Meist temporär, bei Wiederholung im Support melden.
  • Zahlung bleibt dauerhaft auf Status open hängen: der Spender hat den Checkout nicht abgeschlossen (abgebrochen, Timeout) — kein Fehler auf Chatlix-Seite, taucht deshalb auch nicht als Donation-Event auf. Erst paid erzeugt ein Event.

Import-Duplikate (StreamElements-Export / Streamlabs Chatbot XLSX)

Das ist kein Donation-Webhook-Problem, sondern der separate Config-/Loyalty-Import. Trotzdem häufig verwechselt:

  • Erneuter Import derselben Datei überspringt bereits vorhandene Commands/Timer (gleicher Trigger-Text bzw. Name) und bereits vergebene Punkte pro (channel_id, username, source_type) — das ist gewollt, keine Fehlermeldung nötig.
  • Donation-Historie (vergangene Spenden-Transaktionen) wird von keinem der beiden Importer übernommen — importiert werden nur Commands, Timer, Quotes, Loyalty-Punkte/Rewards, Goals, Moderation-Filter, Alert-Regeln (StreamElements) bzw. Commands/Timer/Punkte (Streamlabs Chatbot XLSX). Wenn ein Streamer nach „meine alten Spenden importieren" fragt: das geht aktuell nicht, nur Zukunfts-Events über Webhook/Tip-Page.

Wie kann ich Tests laufen lassen ohne echte Donation?

  • „Test-Donation senden" im Dashboard löst ein synthetisches Event aus (provider=manual_test), erkennbar in der History. Kein Webhook, kein Secret nötig, dafür Session-Login vorausgesetzt.
  • Das Event durchläuft dieselbe Pipeline wie eine echte Donation — Automation, Overlay-Alert, Chat-Reaction feuern identisch. Nur die Tip-Page/Mollie-Zahlung selbst kannst du damit nicht simulieren (die läuft nur über echten Mollie-Checkout).

Donation-Nachricht wird nicht vorgelesen

Wenn du eine Automation mit TTS-Action auf donation_received gemappt hast und trotzdem kein Ton kommt: das ist ein TTS-Problem, kein Donations-Problem (Credits aufgebraucht, Filter blockt den Text, Overlay-Audio-Quelle nicht verbunden). Prüfe im Voice&TTS-Buch unter „TTS-Grundlagen" bzw. dem zugehörigen Troubleshooting-Kapitel.

Siehe auch

  • Donations Grundlagen — Übersicht Webhook vs. Tip-Page, Custody, Limits.
  • Provider einrichten — Setup-Schritte pro Provider und für die Tip-Page.