Automatische Zahlungsbestätigung
Aktualisiert am 2026-04-26
Sobald ein Gast seine Anzahlung oder die vollständige Zahlung über Stripe oder Bancontact leistet, setzen wir automatisch den gesamten Flow in Gang. Alles, was eingeht, sehen Sie in Echtzeit auf der Zahlungsseite.

Was passiert, wenn eine Zahlung eingeht?
- Webhook (von Stripe oder Bancontact) trifft auf
/webhooks/stripe-paymentoder/webhooks/bancontactein - BedFlow aktualisiert die Rechnung:
financial.paid+= Betragfinancial.balance= Gesamt - bezahltfinancial_statewird'partial'(Anzahlung) oder'paid'(vollständig)- Einzelner Payment-Datensatz wird zu
payments[]hinzugefügt
- Die Buchung geht von
pendingaufconfirmed+deposit_paid = true - E-Mail wird versendet an den Gast — welche E-Mail, hängt von der Situation ab:
- Erste Zahlung (Anzahlung oder direkt vollständig) → "Zahlung erhalten" (Template
booking-confirmed) - Restbetrag nach vorheriger Anzahlung → "Vollständig bezahlt" (Template
booking-fully-paid)
- Erste Zahlung (Anzahlung oder direkt vollständig) → "Zahlung erhalten" (Template
- Telegram-Benachrichtigung an Sie auf Ihr Telefon:
- 💳 "Zahlung erhalten" (bei Anzahlung) oder ✅ "Vollständig bezahlt"
- Mit Gastnamen, Betrag, Restsaldo, Anreisedatum, Referenz
- WhatsApp an den Gast (nur bei der ersten Zahlung — bei der finalen Zahlung genügt die E-Mail)
- Gastportal-URL wird generiert und auf der Buchung gespeichert — der Gast kann sein Portal über die E-Mail öffnen
Beispiel-Flow: Jan Jansen bucht 3 Nächte
| Zeitpunkt | Jan sieht | Sie sehen | |---|---|---| | Bucht über Widget | "Danke — prüfen Sie Ihre E-Mail für den Zahlungslink" | Telegram 🎫 "Neue Buchung" | | Öffnet E-Mail, klickt auf Stripe | Stripe Checkout, zahlt €96 Anzahlung | — | | Stripe-Webhook | "Zahlung erhalten — Restbetrag €231 bei Anreise" | Telegram 💳 "€96 von Jan erhalten" | | 2 Tage später zahlt den Rest | "Vollständig bezahlt! Bis bald." | Telegram ✅ "Vollständig bezahlt von Jan" |
Wo ist das implementiert?
app/Http/Controllers/PaymentController.php::handleBookingPaymentConfirmed()ist das Herzstückapp/Services/EmailAutomationService::processEvent()wählt die richtige Vorlage ausapp/Services/TelegramNotificationService::info('payment_received', ...)sendet den Admin-Push