Migrate billing from Paddle to Lemon Squeezy

This commit is contained in:
Codex Agent
2026-02-03 10:59:54 +01:00
parent 2f4ebfefd4
commit a0ef90e13a
228 changed files with 4369 additions and 4067 deletions

View File

@@ -186,9 +186,9 @@ return [
'deleted' => 'Gelöscht',
],
],
'paddle_health' => [
'lemonsqueezy_health' => [
'navigation' => [
'label' => 'Paddle-Status',
'label' => 'Lemon Squeezy-Status',
],
],
'integrations_health' => [
@@ -203,7 +203,7 @@ return [
'unknown' => 'Unbekannt',
],
'heading' => 'Integrationen-Status',
'help' => 'Operativer Überblick über Paddle/RevenueCat-Webhooks, Queue-Backlog und jüngste Fehler.',
'help' => 'Operativer Überblick über Lemon Squeezy/RevenueCat-Webhooks, Queue-Backlog und jüngste Fehler.',
'configured' => 'Konfiguriert',
'unconfigured' => 'Nicht konfiguriert',
'last_received' => 'Zuletzt empfangen',

View File

@@ -90,7 +90,7 @@ return [
'invoice_link' => 'Rechnung öffnen',
'cta' => 'Zum Event-Admin',
'provider' => [
'paddle' => 'Paddle',
'lemonsqueezy' => 'Lemon Squeezy',
'manual' => 'Manuell',
'free' => 'Kostenfrei',
],
@@ -123,7 +123,7 @@ return [
'cta_hint_body' => 'Ihr Angebot bleibt bestehen Sie können jederzeit nahtlos fortfahren.',
'benefits_title' => 'Was Sie erwartet',
'benefit1' => 'Premium Checkout in wenigen Minuten',
'benefit2' => 'Sichere Zahlung mit Paddle',
'benefit2' => 'Sichere Zahlung mit Lemon Squeezy',
'benefit3' => 'Sofortige Aktivierung nach Zahlung',
'benefit4' => 'Support durch das Die Fotospiel.App Team',
'footer' => 'Wir helfen Ihnen gern weiter, falls Fragen offen sind.',

View File

@@ -12,14 +12,14 @@ return [
'contact' => 'Kontakt',
'vat_id' => 'Umsatzsteuer-ID: DE123456789',
'monetization' => 'Monetarisierung',
'monetization_desc' => 'Wir monetarisieren über Packages (Einmalkäufe und Abos) via Paddle. Preise exkl. MwSt. Support: support@fotospiel.de',
'monetization_desc' => 'Wir monetarisieren über Packages (Einmalkäufe und Abos) via Lemon Squeezy. 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: S.E.B. Fotografie, 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 Paddle. Zahlungsinformationen werden sicher und verschlüsselt durch Paddle als Merchant of Record verarbeitet.',
'payments_desc' => 'Wir verarbeiten Zahlungen für Packages über Lemon Squeezy. Zahlungsinformationen werden sicher und verschlüsselt durch Lemon Squeezy als Merchant of Record 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.',

View File

@@ -90,7 +90,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 Paddle sicher und GDPR-konform.",
"faq_a4": "Ja, via Lemon Squeezy sicher und GDPR-konform.",
"final_cta": "Bereit für Ihr nächstes Event?",
"contact_us": "Kontaktieren Sie uns",
"feature_live_slideshow": "Live-Slideshow",

View File

@@ -30,7 +30,7 @@ return [
'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 Paddle sicher und GDPR-konform.',
'faq_a4' => 'Ja, via Lemon Squeezy sicher und GDPR-konform.',
'final_cta' => 'Bereit für Ihr nächstes Event?',
'contact_us' => 'Kontaktieren Sie uns',
'feature_live_slideshow' => 'Live-Slideshow',
@@ -64,12 +64,12 @@ return [
'gallery_days_label' => 'Galerie-Tage',
'recommended_usage_window' => 'Empfohlen innerhalb von 24 Monaten zu nutzen.',
'feature_overview' => 'Feature-Überblick',
'order_hint' => 'Sofort startklar keine versteckten Kosten, sichere Zahlung über Paddle.',
'order_hint' => 'Sofort startklar keine versteckten Kosten, sichere Zahlung über Lemon Squeezy.',
'features_label' => 'Features',
'breakdown_label' => 'Leistungsübersicht',
'limits_label' => 'Limits & Kapazitäten',
'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.',
'lemonsqueezy_not_configured' => 'Dieses Package ist noch nicht für den Lemon Squeezy-Checkout konfiguriert. Bitte kontaktiere den Support.',
'lemonsqueezy_checkout_failed' => 'Der Lemon Squeezy-Checkout konnte nicht gestartet werden. Bitte versuche es später erneut.',
'package_not_found' => 'Dieses Package ist nicht verfügbar. Bitte wähle ein anderes aus.',
],
'nav' => [

View File

@@ -186,9 +186,9 @@ return [
'deleted' => 'Deleted',
],
],
'paddle_health' => [
'lemonsqueezy_health' => [
'navigation' => [
'label' => 'Paddle health',
'label' => 'Lemon Squeezy health',
],
],
'integrations_health' => [
@@ -203,7 +203,7 @@ return [
'unknown' => 'Unknown',
],
'heading' => 'Integrations health',
'help' => 'Operational snapshot of Paddle/RevenueCat webhooks, queue backlog, and recent failures.',
'help' => 'Operational snapshot of Lemon Squeezy/RevenueCat webhooks, queue backlog, and recent failures.',
'configured' => 'Configured',
'unconfigured' => 'Unconfigured',
'last_received' => 'Last received',

View File

@@ -89,7 +89,7 @@ return [
'invoice_link' => 'Open invoice',
'cta' => 'Open Event Admin',
'provider' => [
'paddle' => 'Paddle',
'lemonsqueezy' => 'Lemon Squeezy',
'manual' => 'Manual',
'free' => 'Free',
],
@@ -122,7 +122,7 @@ return [
'cta_hint_body' => 'Your selection stays locked—continue whenever you are ready.',
'benefits_title' => 'What you get',
'benefit1' => 'Premium checkout in minutes',
'benefit2' => 'Secure payment with Paddle',
'benefit2' => 'Secure payment with Lemon Squeezy',
'benefit3' => 'Instant activation after payment',
'benefit4' => 'Support from the Die Fotospiel.App team',
'footer' => 'Let us know if you need anything.',

View File

@@ -12,14 +12,14 @@ return [
'contact' => 'Contact',
'vat_id' => 'VAT ID: DE123456789',
'monetization' => 'Monetization',
'monetization_desc' => 'We monetize through Packages (one-time purchases and subscriptions) via Paddle. Prices excl. VAT. Support: support@fotospiel.de',
'monetization_desc' => 'We monetize through Packages (one-time purchases and subscriptions) via Lemon Squeezy. 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: S.E.B. Fotografie, 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 Paddle. Payment information is handled securely and encrypted by Paddle as the merchant of record.',
'payments_desc' => 'We process payments for Packages via Lemon Squeezy. Payment information is handled securely and encrypted by Lemon Squeezy 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

@@ -91,7 +91,7 @@
"faq_q3": "What happens when it expires?",
"faq_a3": "The gallery remains readable, but uploads are blocked. Simply extend it.",
"faq_q4": "Payment secure?",
"faq_a4": "Yes, via Paddle secure and GDPR-compliant.",
"faq_a4": "Yes, via Lemon Squeezy secure and GDPR-compliant.",
"final_cta": "Ready for your next event?",
"contact_us": "Contact Us",
"feature_live_slideshow": "Live Slideshow",

View File

@@ -30,7 +30,7 @@ return [
'faq_q3' => 'What happens when it expires?',
'faq_a3' => 'The gallery remains readable, but uploads are blocked. Simply extend it.',
'faq_q4' => 'Payment secure?',
'faq_a4' => 'Yes, via Paddle secure and GDPR-compliant.',
'faq_a4' => 'Yes, via Lemon Squeezy secure and GDPR-compliant.',
'final_cta' => 'Ready for your next event?',
'contact_us' => 'Contact Us',
'feature_live_slideshow' => 'Live Slideshow',
@@ -64,12 +64,12 @@ return [
'max_guests_label' => 'Max. guests',
'gallery_days_label' => 'Gallery days',
'feature_overview' => 'Feature overview',
'order_hint' => 'Ready to launch instantly secure Paddle checkout, no hidden fees.',
'order_hint' => 'Ready to launch instantly secure Lemon Squeezy checkout, no hidden fees.',
'features_label' => 'Features',
'breakdown_label' => 'At-a-glance',
'limits_label' => 'Limits & Capacity',
'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.',
'lemonsqueezy_not_configured' => 'This package is not ready for Lemon Squeezy checkout. Please contact support.',
'lemonsqueezy_checkout_failed' => 'We could not start the Lemon Squeezy checkout. Please try again later.',
'package_not_found' => 'This package is no longer available. Please choose another one.',
],
'nav' => [