switched to paddle inline checkout, removed paypal and most of stripe. added product sync between app and paddle.

This commit is contained in:
Codex Agent
2025-10-27 17:26:39 +01:00
parent ecf5a23b28
commit 5432456ffd
117 changed files with 4114 additions and 3639 deletions

View File

@@ -10,14 +10,14 @@
"contact": "Kontakt",
"vat_id": "Umsatzsteuer-ID: DE123456789",
"monetization": "Monetarisierung",
"monetization_desc": "Wir monetarisieren über Packages (Einmalkäufe und Abos) via Stripe und PayPal. Preise exkl. MwSt. Support: support@fotospiel.de",
"monetization_desc": "Wir monetarisieren über Packages (Einmalkäufe und Abos) via Paddle. Preise exkl. MwSt. Support: support@fotospiel.de",
"register_court": "Registergericht: Amtsgericht Musterstadt",
"commercial_register": "Handelsregister: HRB 12345",
"datenschutz_intro": "Wir nehmen den Schutz Ihrer persönlichen Daten sehr ernst und halten uns strikt an die Regeln der Datenschutzgesetze.",
"responsible": "Verantwortlich: Fotospiel GmbH, Musterstraße 1, 12345 Musterstadt",
"data_collection": "Datenerfassung: Keine PII-Speicherung, anonyme Sessions für Gäste. E-Mails werden nur für Kontaktzwecke verarbeitet.",
"payments": "Zahlungen und Packages",
"payments_desc": "Wir verarbeiten Zahlungen für Packages über Stripe und PayPal. Karteninformationen werden nicht gespeichert alle Daten werden verschlüsselt übertragen.",
"payments_desc": "Wir verarbeiten Zahlungen für Packages über Paddle. Zahlungsdaten werden als Merchant of Record sicher und verschlüsselt durch Paddle verarbeitet.",
"data_retention": "Package-Daten (Limits, Features) sind anonymisiert und werden nur für die Funktionalität benötigt. Consent für Zahlungen und E-Mails wird bei Kauf eingeholt. Daten werden nach 10 Jahren gelöscht.",
"rights": "Ihre Rechte: Auskunft, Löschung, Widerspruch.",
"cookies": "Cookies: Nur funktionale Cookies für die PWA.",
@@ -29,7 +29,6 @@
"data_security_desc": "Wir verwenden HTTPS, verschlüsselte Speicherung (Passwörter hashed) und regelmäßige Backups. Zugriff auf Daten ist rollebasierend beschränkt (Tenant vs SuperAdmin).",
"and": "und",
"stripe_privacy": "Stripe Datenschutz",
"paypal_privacy": "PayPal Datenschutz",
"agb": "Allgemeine Geschäftsbedingungen",
"effective_from": "Gültig seit {{date}}",
"version": "Version {{version}}"

View File

@@ -88,7 +88,7 @@
"faq_q3": "Was passiert bei Ablauf?",
"faq_a3": "Die Galerie bleibt lesbar, aber Uploads sind blockiert. Verlängern Sie einfach.",
"faq_q4": "Zahlungssicher?",
"faq_a4": "Ja, via Stripe oder PayPal sicher und GDPR-konform.",
"faq_a4": "Ja, via Paddle sicher und GDPR-konform.",
"final_cta": "Bereit für Ihr nächstes Event?",
"contact_us": "Kontaktieren Sie uns",
"feature_live_slideshow": "Live-Slideshow",
@@ -115,7 +115,7 @@
"billing_per_year": "pro Jahr",
"more_features": "+{{count}} weitere Features",
"feature_overview": "Feature-Überblick",
"order_hint": "Sofort startklar keine versteckten Kosten, sichere Zahlung via Stripe oder PayPal.",
"order_hint": "Sofort startklar keine versteckten Kosten, sichere Zahlung über Paddle.",
"features_label": "Features",
"feature_highlights": "Feature-Highlights",
"more_details_tab": "Mehr Details",
@@ -145,7 +145,7 @@
"faq_free_desc": "Das Free Package bietet grundlegende Features für kleine Events mit begrenzter Anzahl an Fotos und Gästen.",
"faq_upgrade_desc": "Ja, Sie können jederzeit upgraden, um mehr Features und Limits zu erhalten. Der Upgrade ist nahtlos und Ihre Daten bleiben erhalten.",
"faq_reseller_desc": "Reseller-Packages sind jährliche Abos für Agenturen, die mehrere Events verwalten. Inklusive Dashboard und Branding-Optionen.",
"faq_payment_desc": "Alle Zahlungen werden über sichere Provider wie Stripe oder PayPal abgewickelt. Ihre Daten sind GDPR-konform geschützt.",
"faq_payment_desc": "Alle Zahlungen werden über sichere Provider wie Paddle abgewickelt. Ihre Daten sind GDPR-konform geschützt.",
"testimonials": {
"anna": "Fotospiel hat unsere Hochzeit perfekt gemacht! Die Gäste konnten einfach Fotos teilen, und die Galerie war ein Hit.",
"max": "Als Event-Organisator liebe ich die Analytics und das einfache Branding. Super für Firmenevents!",
@@ -163,7 +163,9 @@
"euro": "€"
},
"view_details": "Details ansehen",
"feature": "Feature"
"feature": "Feature",
"paddle_not_configured": "Dieses Package ist noch nicht für den Paddle-Checkout konfiguriert. Bitte kontaktiere den Support.",
"paddle_checkout_failed": "Der Paddle-Checkout konnte nicht gestartet werden. Bitte versuche es später erneut."
},
"blog": {
"title": "Fotospiel - Blog",
@@ -280,22 +282,15 @@
"no_account": "Kein Konto? Registrieren",
"manage_subscription": "Abo verwalten",
"stripe_dashboard": "Stripe-Dashboard",
"paypal_dashboard": "PayPal-Dashboard",
"trial_activated": "Trial aktiviert für 14 Tage!"
},
"payment": {
"title": "Zahlung",
"card_details": "Kartendetails",
"stripe": "Kreditkarte",
"paypal": "PayPal",
"submit_stripe": "Bezahlen mit Karte (:price)",
"submit_paypal": "Bezahlen mit PayPal (:price)",
"loading_stripe": "Lade Stripe...",
"paypal_description": "Sichere Zahlung mit PayPal",
"switch_to_card": "Zur Kreditkarte wechseln",
"paypal_create_error": "PayPal-Bestellung fehlgeschlagen",
"paypal_capture_error": "PayPal-Capture fehlgeschlagen",
"paypal_error": "PayPal-Zahlung fehlgeschlagen",
"stripe_error": "Stripe-Zahlung fehlgeschlagen",
"confirm_error": "Bestätigung fehlgeschlagen",
"complete_error": "Zahlung konnte nicht abgeschlossen werden"
@@ -404,8 +399,19 @@
"free_package_desc": "Dieses Paket ist kostenlos. Wir aktivieren es direkt nach der Bestätigung.",
"activate_package": "Paket aktivieren",
"loading_payment": "Zahlungsdaten werden geladen...",
"secure_payment_desc": "Sichere Zahlung mit Kreditkarte, Debitkarte oder SEPA-Lastschrift.",
"secure_paypal_desc": "Sichere Zahlung mit PayPal.",
"secure_payment_desc": "Sichere Zahlung über Paddle.",
"paddle_intro": "Wir öffnen den Paddle-Checkout direkt hier im Wizard, damit du im Ablauf bleibst.",
"paddle_preparing": "Paddle-Checkout wird vorbereitet…",
"paddle_overlay_ready": "Der Paddle-Checkout läuft jetzt in einem Overlay. Schließe die Zahlung dort ab und kehre anschließend hierher zurück.",
"paddle_ready": "Paddle-Checkout wurde in einem neuen Tab geöffnet. Schließe die Zahlung dort ab und kehre dann hierher zurück.",
"paddle_error": "Der Paddle-Checkout konnte nicht gestartet werden. Bitte versuche es erneut.",
"paddle_not_ready": "Der Paddle-Checkout ist noch nicht bereit. Bitte versuche es in einem Moment erneut.",
"paddle_not_configured": "Dieses Paket ist noch nicht für den Paddle-Checkout konfiguriert. Bitte kontaktiere den Support.",
"paddle_disclaimer": "Paddle wickelt Zahlungen als Merchant of Record ab. Steuern werden automatisch anhand deiner Rechnungsdaten berechnet.",
"pay_with_paddle": "Weiter mit Paddle",
"continue_after_payment": "Ich habe die Zahlung abgeschlossen",
"no_package_title": "Kein Paket ausgewählt",
"no_package_description": "Bitte wähle ein Paket, um zum Checkout zu gelangen.",
"payment_failed": "Zahlung fehlgeschlagen. ",
"error_card": "Kartenfehler aufgetreten.",
"error_validation": "Eingabedaten sind ungültig.",
@@ -419,25 +425,18 @@
"unexpected_status": "Unerwarteter Zahlungsstatus: {status}",
"processing_btn": "Verarbeitung...",
"pay_now": "Jetzt bezahlen (€{price})",
"stripe_not_loaded": "Stripe ist nicht initialisiert. Bitte Seite neu laden.",
"network_error": "Netzwerkfehler beim Laden der Zahlungsdaten",
"payment_intent_error": "Fehler beim Laden der Zahlungsdaten",
"paypal_order_error": "PayPal-Bestellung konnte nicht erstellt werden. Bitte erneut versuchen.",
"paypal_capture_error": "PayPal-Abschluss fehlgeschlagen. Bitte erneut versuchen.",
"paypal_error": "PayPal meldete einen Fehler.",
"paypal_cancelled": "Sie haben die PayPal-Zahlung abgebrochen.",
"paypal_missing_plan": "Für dieses Paket fehlt die PayPal-Plan-Konfiguration. Bitte wählen Sie eine andere Zahlungsmethode.",
"auth_required": "Bitte melde dich an, um mit der Zahlung fortzufahren.",
"status_loading": "Zahlungsvorbereitung läuft…",
"status_ready": "Zahlungsformular bereit. Bitte gib deine Daten ein.",
"status_processing": "Zahlung mit {{provider}} wird verarbeitet…",
"status_success": "Zahlung bestätigt. Wir schließen den Kauf ab…",
"status_info_title": "Zahlungsstatus",
"status_processing_title": "Checkout wird geöffnet",
"status_ready_title": "Checkout geöffnet",
"status_error_title": "Zahlung fehlgeschlagen",
"status_success_title": "Zahlung abgeschlossen",
"status_retry": "Erneut versuchen",
"method_stripe": "Kreditkarte (Stripe)",
"method_paypal": "PayPal"
"status_retry": "Erneut versuchen"
},
"confirmation_step": {
"title": "Bestätigung",

View File

@@ -10,14 +10,14 @@
"contact": "Contact",
"vat_id": "VAT ID: DE123456789",
"monetization": "Monetization",
"monetization_desc": "We monetize through Packages (one-time purchases and subscriptions) via Stripe and PayPal. Prices excl. VAT. Support: support@fotospiel.de",
"monetization_desc": "We monetize through Packages (one-time purchases and subscriptions) via Paddle. Prices excl. VAT. Support: support@fotospiel.de",
"register_court": "Register Court: District Court Musterstadt",
"commercial_register": "Commercial Register: HRB 12345",
"datenschutz_intro": "We take the protection of your personal data very seriously and strictly adhere to the rules of data protection laws.",
"responsible": "Responsible: Fotospiel GmbH, Musterstraße 1, 12345 Musterstadt",
"data_collection": "Data collection: No PII storage, anonymous sessions for guests. Emails are only processed for contact purposes.",
"payments": "Payments and Packages",
"payments_desc": "We process payments for Packages via Stripe and PayPal. Card information is not stored all data is transmitted encrypted. See Stripe Privacy and PayPal Privacy.",
"payments_desc": "We process payments for Packages via Paddle. Payment data is handled securely and encrypted by Paddle as the merchant of record.",
"data_retention": "Package data (limits, features) is anonymized and only required for functionality. Consent for payments and emails is obtained at purchase. Data is deleted after 10 years.",
"rights": "Your rights: Information, deletion, objection. Contact us under Contact.",
"cookies": "Cookies: Only functional cookies for the PWA.",

View File

@@ -78,7 +78,7 @@
"faq_q3": "What happens when it expires?",
"faq_a3": "The gallery remains readable, but uploads are blocked. Simply extend.",
"faq_q4": "Payment secure?",
"faq_a4": "Yes, via Stripe or PayPal secure and GDPR compliant.",
"faq_a4": "Yes, via Paddle secure and GDPR compliant.",
"final_cta": "Ready for your next event?",
"contact_us": "Contact Us",
"feature_live_slideshow": "Live Slideshow",
@@ -105,7 +105,7 @@
"billing_per_year": "per year",
"more_features": "+{{count}} more features",
"feature_overview": "Feature overview",
"order_hint": "Launch instantly secure Stripe or PayPal checkout, no hidden fees.",
"order_hint": "Launch instantly secure Paddle checkout, no hidden fees.",
"features_label": "Features",
"feature_highlights": "Feature Highlights",
"more_details_tab": "More Details",
@@ -149,7 +149,9 @@
},
"currency": {
"euro": "€"
}
},
"paddle_not_configured": "This package is not ready for Paddle checkout. Please contact support.",
"paddle_checkout_failed": "We could not start the Paddle checkout. Please try again later."
},
"blog": {
"title": "Fotospiel - Blog",
@@ -266,22 +268,15 @@
"no_account": "No Account? Register",
"manage_subscription": "Manage Subscription",
"stripe_dashboard": "Stripe Dashboard",
"paypal_dashboard": "PayPal Dashboard",
"trial_activated": "Trial activated for 14 days!"
},
"payment": {
"title": "Payment",
"card_details": "Card Details",
"stripe": "Credit Card",
"paypal": "PayPal",
"submit_stripe": "Pay with Card (:price)",
"submit_paypal": "Pay with PayPal (:price)",
"loading_stripe": "Loading Stripe...",
"paypal_description": "Secure payment with PayPal",
"switch_to_card": "Switch to Credit Card",
"paypal_create_error": "PayPal order creation failed",
"paypal_capture_error": "PayPal capture failed",
"paypal_error": "PayPal payment failed",
"stripe_error": "Stripe payment failed",
"confirm_error": "Confirmation failed",
"complete_error": "Payment could not be completed"
@@ -398,8 +393,19 @@
"free_package_desc": "This package is free. We activate it directly after confirmation.",
"activate_package": "Activate Package",
"loading_payment": "Payment data is loading...",
"secure_payment_desc": "Secure payment with credit card, debit card or SEPA direct debit.",
"secure_paypal_desc": "Pay securely with PayPal.",
"secure_payment_desc": "Secure payment with Paddle.",
"paddle_intro": "We open Paddle's secure checkout directly inside this wizard so you never leave the flow.",
"paddle_preparing": "Preparing Paddle checkout…",
"paddle_overlay_ready": "Paddle checkout is running in a secure overlay. Complete the payment there and then continue here.",
"paddle_ready": "Paddle checkout opened in a new tab. Complete the payment and then continue here.",
"paddle_error": "We could not start the Paddle checkout. Please try again.",
"paddle_not_ready": "Paddle checkout is not ready yet. Please try again in a moment.",
"paddle_not_configured": "This package is not ready for Paddle checkout. Please contact support.",
"paddle_disclaimer": "Paddle processes payments as merchant of record. Taxes are calculated automatically based on your billing details.",
"pay_with_paddle": "Continue with Paddle",
"continue_after_payment": "I completed the payment",
"no_package_title": "No package selected",
"no_package_description": "Please choose a package to continue to checkout.",
"payment_failed": "Payment failed. ",
"error_card": "Card error occurred.",
"error_validation": "Input data is invalid.",
@@ -413,25 +419,18 @@
"unexpected_status": "Unexpected payment status: {status}",
"processing_btn": "Processing...",
"pay_now": "Pay Now (${price})",
"stripe_not_loaded": "Stripe is not initialized. Please reload the page.",
"network_error": "Network error loading payment data",
"payment_intent_error": "Error loading payment data",
"paypal_order_error": "Could not create the PayPal order. Please try again.",
"paypal_capture_error": "PayPal capture failed. Please try again.",
"paypal_error": "PayPal reported an error.",
"paypal_cancelled": "You cancelled the PayPal payment.",
"paypal_missing_plan": "Missing PayPal plan configuration for this package. Please choose another payment method.",
"auth_required": "Please log in to continue to payment.",
"status_loading": "Preparing secure payment data…",
"status_ready": "Payment form ready. Enter your details to continue.",
"status_processing": "Processing payment with {{provider}}…",
"status_success": "Payment confirmed. Finalising your order…",
"status_info_title": "Payment status",
"status_processing_title": "We are opening the checkout",
"status_ready_title": "Checkout opened",
"status_error_title": "Payment failed",
"status_success_title": "Payment completed",
"status_retry": "Retry",
"method_stripe": "Credit Card (Stripe)",
"method_paypal": "PayPal"
"status_retry": "Retry"
},
"confirmation_step": {
"title": "Confirmation",