Tickets verkaufen, zustellen und erstatten
Verwalte Ticketangebote, sichere Checkouts, Bestellungen, Ticketübertragungen, Erstattungen und Auszahlungen als zusammenhängenden Ablauf.
- Rollen
- owner, manager, staff, customer
- Benötigte Module
- ticketing.checkout
- Zuletzt fachlich geprüft
Worum es geht
Ticketing verbindet Veranstaltungsangebot, serverseitiges Inventar, Stripe Checkout, signierte Webhooks, Ticketerstellung, Mailzustellung und Einlass. Tickets werden niemals vor der bestätigten Zahlung erstellt.
Voraussetzungen
- Das Modul Ticketing (`ticketing.checkout`) ist aktiv.
- Veranstaltung, Termin und mindestens eine aktive Ticketart sind gespeichert.
- Für Zahlungen ist Stripe im richtigen Test- oder Live-Modus eingerichtet.
- Für Betreiber-Auszahlungen ist das Auszahlungskonto deines Betriebs geprüft.
Schritt für Schritt
Ticketangebot prüfen
Öffne Veranstaltung oder Tickets und kontrolliere Titel, Beschreibung, Preis, Währung, Kontingent, Terminbezug, Aktivstatus und optionale Sitzpreisregeln.
Erwartetes Ergebnis: Die öffentliche Vorschau zeigt genau die aktiven und verfügbaren Angebote.Testkauf als Gast ausführen
Öffne die direkte Veranstaltungsseite, wähle Ticketmenge und gegebenenfalls Sitzplatz, erfasse synthetische Kontaktdaten und prüfe die Zusammenfassung. Öffne nur einen Test-Checkout.
Erwartetes Ergebnis: Stripe Checkout zeigt Betrag, Währung und sicheren Zahlungsempfänger im Testmodus korrekt.Zahlung und Webhook abwarten
Schließe die Testzahlung ab und warte auf die signierte Checkout-Bestätigung. Aktualisiere die Erfolgsseite und Betreiberansicht erst danach.
Erwartetes Ergebnis: Bestellung wechselt zu abgeschlossen, Tickets werden einmalig erstellt und die Zustellung wird eingeplant.Bestellung und Zustellung prüfen
Öffne die Bestellung im Ticketarbeitsbereich. Prüfe Betrag, Status, Ticketnummern, Sitzplätze und Mailstatus. Erneut senden ist nur für abgeschlossene Bestellungen mit bestehenden Tickets erlaubt.
Erwartetes Ergebnis: Operatoransicht, Ticket-PDF und sichere Testmail stimmen überein.Ticket übertragen oder erstatten
Wähle die vorgesehene Übertragung oder Erstattung, prüfe Umfang, Grund, bereits eingelöste Tickets und Auszahlungswirkung und bestätige einmal.
Erwartetes Ergebnis: Status, Inventar, Zahlung, Ticketzugriff und Audit-Historie bleiben konsistent.
So sieht es aus
Checkout und Ticketerstellung
Der Browser eröffnet einen Stripe Checkout über den gemeinsamen Ticketworkflow. Preis und Sitzplatzaufschlag werden serverseitig aus TicketOffering, SeatPricing und aktiven Holds berechnet.
Ein erfolgreicher Redirect allein erzeugt kein Ticket. Erst der verifizierte Stripe-Webhook bestätigt die Zahlung und löst die idempotente Ticketerstellung aus.
Virtuelle Ticket-Warteschlange
Bei aktivierter Warteschlange erhält der Browser einen Platz für genau dieses Angebot deines Betriebs. Zulassung, Ablauf und Kompaktierung werden serverseitig gesteuert. Ein Platz in der Warteschlange ersetzt weder Ticket noch Zahlung.
Ticketübertragung, Ticket-PDF und erneute Zustellung
Eine Übertragung erneuert den Zugriffscode und verhindert, dass der frühere Inhaber denselben QR-Zugang weiter nutzt. Das Ticket-PDF zeigt den aktuellen Inhaber- und Statuskontext.
Erneute Zustellung verwendet `TicketWorkflow.resendTicketEmail()` und ist nur bei abgeschlossener Bestellung mit existierenden Tickets möglich.
Erstattungen, Disputes und Auszahlungen
Erstattungen können einen Betrag, ausgewählte Tickets, eine Bestellung oder eine ganze Veranstaltung betreffen. Bereits eingelöste oder nicht erstattbare Tickets werden sichtbar ausgeschlossen.
Auszahlungen werden mit dem Auszahlungskonto deines Betriebs abgeglichen. Fehler bei Stripe erscheinen als „nicht eingerichtet“ und zeigen keine technischen Details oder Geheimnisse.
Wenn etwas nicht funktioniert
Zahlung war erfolgreich, aber Ticket fehlt.
- Wahrscheinliche Ursache
- Webhook ist noch nicht eingegangen, Signaturprüfung scheiterte oder die Verarbeitung wartet auf einen Retry.
- Sichere Lösung
- Prüfe Bestell- und Webhookstatus. Erzeuge keinen zweiten Kauf und kein manuelles Ticket; warte auf oder repariere den bestätigten Zahlungsworkflow.
Erneut senden ist deaktiviert.
- Wahrscheinliche Ursache
- Bestellung ist nicht abgeschlossen oder besitzt noch keine Tickets.
- Sichere Lösung
- Prüfe Zahlung und Webhookverarbeitung. Verwende die Aktion erst, wenn beide Bedingungen sichtbar erfüllt sind.
Sitzplatzpreis stimmt nicht mit der Auswahl überein.
- Wahrscheinliche Ursache
- Hold, Preisregel oder Angebot wurde zwischen Auswahl und Checkout geändert.
- Sichere Lösung
- Verwirf den alten Checkout, lade die Veranstaltungsseite neu und erstelle einen neuen Hold. Überschreibe den Stripe-Betrag nicht clientseitig.
Beschriebene Produktoberflächen
/dashboard/tickets/events/[tenant]/[event]