diff --git a/resources/lang/de/emails.php b/resources/lang/de/emails.php
index e15a505c..a6f01bfb 100644
--- a/resources/lang/de/emails.php
+++ b/resources/lang/de/emails.php
@@ -88,6 +88,13 @@ return [
'limits_title' => 'Ihre Paketdetails',
'invoice_title' => 'Rechnung',
'invoice_link' => 'Rechnung öffnen',
+ 'invoice_seller_label' => 'Anbieter',
+ 'invoice_customer_label' => 'Kunde',
+ 'invoice_item_label' => 'Leistung',
+ 'invoice_type_label' => 'Typ',
+ 'invoice_tax_label' => 'Steuer',
+ 'invoice_total_label' => 'Gesamt',
+ 'invoice_footer' => 'Dieser Beleg wurde automatisch von Fotospiel erstellt.',
'cta' => 'Zum Event-Admin',
'provider' => [
'lemonsqueezy' => 'PayPal',
diff --git a/resources/lang/de/marketing.json b/resources/lang/de/marketing.json
index a19f2032..69e6fd27 100644
--- a/resources/lang/de/marketing.json
+++ b/resources/lang/de/marketing.json
@@ -469,9 +469,9 @@
"secure_payment_desc": "Sichere Zahlung ueber PayPal.",
"lemonsqueezy_intro": "Starte den PayPal-Checkout direkt hier im Wizard – ganz ohne Seitenwechsel.",
"guided_title": "Sichere Zahlung mit PayPal",
- "guided_body": "Bezahle schnell und sicher mit PayPal. Dein Paket wird nach der Bestaetigung sofort freigeschaltet.",
+ "guided_body": "Bezahle schnell und sicher mit PayPal. Es oeffnet sich ein PayPal-Fenster – kehre danach hierher zurueck.",
"lemonsqueezy_partner": "Powered by PayPal",
- "guided_cta_hint": "Sicher abgewickelt ueber PayPal",
+ "guided_cta_hint": "Zahlung in PayPal abschliessen und hierher zurueckkehren.",
"lemonsqueezy_preparing": "PayPal-Checkout wird vorbereitet...",
"lemonsqueezy_overlay_ready": "Der PayPal-Checkout läuft jetzt in einem Overlay. Schließe die Zahlung dort ab und kehre anschließend hierher zurück.",
"lemonsqueezy_ready": "PayPal-Checkout wurde in einem neuen Tab geöffnet. Schließe die Zahlung dort ab und kehre dann hierher zurück.",
@@ -482,11 +482,88 @@
"pay_with_lemonsqueezy": "Weiter mit PayPal",
"paypal_partner": "Powered by PayPal",
"paypal_preparing": "PayPal-Checkout wird vorbereitet...",
- "paypal_ready": "PayPal-Checkout ist bereit. Schließe die Zahlung ab, um fortzufahren.",
+ "paypal_ready": "PayPal-Checkout ist bereit. Schliesse die Zahlung in PayPal ab und kehre hierher zurueck.",
"paypal_error": "Der PayPal-Checkout konnte nicht gestartet werden. Bitte versuche es erneut.",
"paypal_not_configured": "PayPal ist noch nicht konfiguriert. Bitte kontaktiere den Support.",
- "paypal_cancelled": "PayPal-Checkout wurde abgebrochen.",
- "paypal_disclaimer": "Zahlungen werden sicher über PayPal verarbeitet. Du erhältst im Anschluss eine Bestätigung."
+ "paypal_cancelled": "PayPal-Checkout wurde abgebrochen. Du kannst es unten erneut versuchen.",
+ "paypal_disclaimer": "Zahlungen werden sicher über PayPal verarbeitet. Du erhältst im Anschluss eine Bestätigung.",
+ "resume_paypal": "Weiter in PayPal",
+ "resume_hint": "Falls PayPal nicht geoeffnet wurde oder geschlossen wurde, hier im neuen Tab fortsetzen."
+ },
+ "confirmation_step": {
+ "title": "Bestätigung",
+ "subtitle": "Alles erledigt!",
+ "description": "Dein Paket ist aktiviert. Prüfe deine E-Mails für Details.",
+ "welcome": "Danke, dass du die Fotospiel App gewählt hast!",
+ "package_summary": "Dein Paket {name} ist jetzt freigeschaltet. Du kannst sofort mit der Einrichtung loslegen.",
+ "email_followup": "Wir haben dir gerade alle Details per E-Mail geschickt – inklusive Rechnung und den nächsten Schritten.",
+ "hero_badge": "Checkout abgeschlossen",
+ "hero_title": "Weiter geht's im Marketing-Dashboard",
+ "hero_body": "Wir haben deinen Zugang aktiviert und synchronisieren PayPal. Mit diesen Aufgaben startest du direkt durch.",
+ "hero_next": "Nutze den Button unten, um in deinen Kundenbereich zu wechseln – diese Übersicht kannst du jederzeit erneut öffnen.",
+ "status_title": "Bestellstatus",
+ "status_subtitle": "Wir schließen die Aktivierung ab und synchronisieren dein Konto.",
+ "status_state": {
+ "processing": "Wird bestätigt",
+ "completed": "Bestätigt",
+ "failed": "Aktion nötig",
+ "action_required": "Aktion erforderlich"
+ },
+ "status_body_processing": "Wir synchronisieren dein Konto mit PayPal. Das kann einen Moment dauern.",
+ "status_body_completed": "Alles ist bereit. Dein Konto ist vollständig freigeschaltet.",
+ "status_body_failed": "Wir konnten den Kauf noch nicht bestätigen. Bitte prüfe den Status erneut oder kontaktiere den Support.",
+ "status_body_action_required": "PayPal benoetigt noch eine kurze Bestaetigung. Schliesse den Checkout ab, um dein Paket zu aktivieren.",
+ "status_manual_hint": "Dauert es zu lange? Du kannst den Status erneut prüfen oder die Seite aktualisieren.",
+ "status_retry": "Status prüfen",
+ "status_refresh": "Seite aktualisieren",
+ "status_action_hint": "Wir benoetigen noch deine PayPal-Bestaetigung, bevor wir dein Paket aktivieren koennen.",
+ "status_action_button": "PayPal-Checkout fortsetzen",
+ "status_action_back": "Zurueck zur Zahlung",
+ "status_failed_hint": "Die Zahlung wurde nicht abgeschlossen. Du kannst den Checkout erneut starten.",
+ "status_failed_back": "Zurueck zur Zahlung",
+ "status_items": {
+ "payment": {
+ "title": "Zahlung bestätigt",
+ "body": "Deine PayPal-Zahlung war erfolgreich."
+ },
+ "email": {
+ "title": "Beleg versendet",
+ "body": "Die Bestätigungsmail ist unterwegs."
+ },
+ "access": {
+ "title": "Zugang freigeschaltet",
+ "body": "Dashboard und PWA stehen bereit."
+ }
+ },
+ "onboarding_title": "Vorschau auf deine Onboarding-Schritte",
+ "onboarding_subtitle": "Diese Aufgaben erwarten dich direkt nach dem Login.",
+ "onboarding_badge": "Nächste Schritte",
+ "onboarding_items": {
+ "event": {
+ "title": "Erstes Event anlegen",
+ "body": "Titel, Datum und Highlights festlegen – alles bleibt anpassbar."
+ },
+ "invites": {
+ "title": "QR-Einladungen aktivieren",
+ "body": "Teile deinen Event-QR-Code oder den Shortcut-Link mit Gästen."
+ },
+ "tasks": {
+ "title": "Fotoaufgaben planen",
+ "body": "Nutze Vorlagen oder füge eigene kreative Aufgaben hinzu."
+ }
+ },
+ "control_center_title": "Event Control Center (PWA)",
+ "control_center_body": "Alle Live-Aufgaben erledigst du später im Control Center – optimiert für Mobilgeräte und offlinefähig.",
+ "control_center_hint": "Installiere die PWA direkt aus dem Dashboard.",
+ "package_title": "Dein Paket",
+ "package_body": "Dein Paket ist aktiviert und sofort einsatzbereit.",
+ "package_label": "Aktiviertes Paket",
+ "actions_title": "Nächste Schritte",
+ "actions_body": "Zum Adminbereich wechseln oder Profildaten prüfen.",
+ "package_activated": "Ihr Paket '{name}' ist aktiviert.",
+ "email_sent": "Wir haben Ihnen eine Bestätigungs-E-Mail gesendet.",
+ "open_profile": "Profil öffnen",
+ "to_admin": "Zum Admin-Bereich"
}
}
}
diff --git a/resources/lang/en/emails.php b/resources/lang/en/emails.php
index 261d4b69..80033381 100644
--- a/resources/lang/en/emails.php
+++ b/resources/lang/en/emails.php
@@ -87,6 +87,13 @@ return [
'limits_title' => 'Your package details',
'invoice_title' => 'Invoice',
'invoice_link' => 'Open invoice',
+ 'invoice_seller_label' => 'Seller',
+ 'invoice_customer_label' => 'Customer',
+ 'invoice_item_label' => 'Item',
+ 'invoice_type_label' => 'Type',
+ 'invoice_tax_label' => 'Tax',
+ 'invoice_total_label' => 'Total',
+ 'invoice_footer' => 'This receipt was generated automatically by Fotospiel.',
'cta' => 'Open Event Admin',
'provider' => [
'lemonsqueezy' => 'PayPal',
diff --git a/resources/lang/en/marketing.json b/resources/lang/en/marketing.json
index 748b4f45..f19d8cca 100644
--- a/resources/lang/en/marketing.json
+++ b/resources/lang/en/marketing.json
@@ -465,9 +465,9 @@
"secure_payment_desc": "Secure payment with PayPal.",
"lemonsqueezy_intro": "Start the PayPal checkout right here in the wizard - no page changes required.",
"guided_title": "Secure checkout with PayPal",
- "guided_body": "Pay quickly and securely with PayPal. Your package unlocks immediately after confirmation.",
+ "guided_body": "Pay quickly and securely with PayPal. A PayPal window opens; return here after approval to finish.",
"lemonsqueezy_partner": "Powered by PayPal",
- "guided_cta_hint": "Securely processed via PayPal",
+ "guided_cta_hint": "Complete the payment in PayPal and return here to finish.",
"lemonsqueezy_preparing": "Preparing PayPal checkout...",
"lemonsqueezy_overlay_ready": "PayPal checkout is running in a secure overlay. Complete the payment there and then continue here.",
"lemonsqueezy_ready": "PayPal checkout opened in a new tab. Complete the payment and then continue here.",
@@ -478,11 +478,88 @@
"pay_with_lemonsqueezy": "Continue with PayPal",
"paypal_partner": "Powered by PayPal",
"paypal_preparing": "Preparing PayPal checkout...",
- "paypal_ready": "PayPal checkout is ready. Complete the payment to continue.",
+ "paypal_ready": "PayPal checkout is ready. Complete the payment in PayPal and return here.",
"paypal_error": "We could not start the PayPal checkout. Please try again.",
"paypal_not_configured": "PayPal checkout is not configured yet. Please contact support.",
- "paypal_cancelled": "PayPal checkout was cancelled.",
- "paypal_disclaimer": "Payments are processed securely by PayPal. You will receive a receipt after purchase."
+ "paypal_cancelled": "PayPal checkout was cancelled. You can try again below.",
+ "paypal_disclaimer": "Payments are processed securely by PayPal. You will receive a receipt after purchase.",
+ "resume_paypal": "Continue in PayPal",
+ "resume_hint": "If PayPal did not open or you closed it, continue in a new tab."
+ },
+ "confirmation_step": {
+ "title": "Confirmation",
+ "subtitle": "All Done!",
+ "description": "Your package is activated. Check your email for details.",
+ "welcome": "Thank you for choosing the Fotospiel App!",
+ "package_summary": "Your {name} package is now active. You're ready to get everything set up.",
+ "email_followup": "We've just sent a confirmation email with your receipt and the next steps.",
+ "hero_badge": "Checkout complete",
+ "hero_title": "You're ready for the Marketing Dashboard",
+ "hero_body": "We activated your access and are syncing PayPal. Follow the checklist below to launch your first event.",
+ "hero_next": "Use the button below whenever you're ready to jump into your customer area—this summary is always available.",
+ "status_title": "Purchase status",
+ "status_subtitle": "We are finishing the handoff and syncing your account.",
+ "status_state": {
+ "processing": "Finalising",
+ "completed": "Confirmed",
+ "failed": "Needs attention",
+ "action_required": "Action required"
+ },
+ "status_body_processing": "We are syncing your account with PayPal. This can take a minute.",
+ "status_body_completed": "Everything is ready. Your account is fully unlocked.",
+ "status_body_failed": "We could not confirm the purchase yet. Please try again or contact support.",
+ "status_body_action_required": "PayPal still needs a quick confirmation. Complete the checkout to activate your package.",
+ "status_manual_hint": "Still waiting? You can re-check the status or refresh the page.",
+ "status_retry": "Check status",
+ "status_refresh": "Refresh page",
+ "status_action_hint": "We still need PayPal approval before we can activate your package.",
+ "status_action_button": "Continue PayPal checkout",
+ "status_action_back": "Back to payment",
+ "status_failed_hint": "The payment did not complete. You can start the checkout again.",
+ "status_failed_back": "Back to payment",
+ "status_items": {
+ "payment": {
+ "title": "Payment confirmed",
+ "body": "Your PayPal payment was successful."
+ },
+ "email": {
+ "title": "Receipt sent",
+ "body": "A confirmation email is on its way."
+ },
+ "access": {
+ "title": "Access unlocked",
+ "body": "Your dashboard and PWA access are active."
+ }
+ },
+ "onboarding_title": "Preview your onboarding steps",
+ "onboarding_subtitle": "These are the first tasks you'll see after logging in.",
+ "onboarding_badge": "Next steps",
+ "onboarding_items": {
+ "event": {
+ "title": "Create your first event",
+ "body": "Set title, date, and highlights. You can adjust everything later."
+ },
+ "invites": {
+ "title": "Activate QR invites",
+ "body": "Share your event QR code or shortcut link with guests."
+ },
+ "tasks": {
+ "title": "Plan photo tasks",
+ "body": "Pick from the library or add your own creative prompts."
+ }
+ },
+ "control_center_title": "Event Control Center (PWA)",
+ "control_center_body": "You handle live moderation and uploads in the Control Center — mobile-first and offline-ready.",
+ "control_center_hint": "Install the PWA directly from the dashboard.",
+ "package_title": "Your package",
+ "package_body": "Your plan is active and ready to use.",
+ "package_label": "Activated package",
+ "actions_title": "Next actions",
+ "actions_body": "Jump into your admin area or update profile details.",
+ "package_activated": "Your package '{name}' is activated.",
+ "email_sent": "We have sent you a confirmation email.",
+ "open_profile": "Open Profile",
+ "to_admin": "To Admin Area"
}
}
}
diff --git a/resources/views/billing/receipt.blade.php b/resources/views/billing/receipt.blade.php
new file mode 100644
index 00000000..39e2f158
--- /dev/null
+++ b/resources/views/billing/receipt.blade.php
@@ -0,0 +1,151 @@
+
+
+
+
+ {{ __('emails.purchase.invoice_title') }}
+
+
+
+