No description
QA-Entscheidung 07.07.: Eine Buchung ist nicht rückabwickelbar — es darf
nie eine negative Proration-Rechnung oder ein Stripe-Guthaben entstehen.
- StripeCheckoutService::isDowngrade: sofortiger Wechsel nur, wenn der
Periodenpreis des Ziel-Tarifs den aktuellen erreicht (Wechsel-Rechnung
damit garantiert >= 0); sonst Downgrade
- scheduleDowngrade: Stripe Subscription Schedule stellt das Abo zum Ende
der bezahlten Periode um (proration_behavior none), hebt eine
vorgemerkte Kündigung auf und spiegelt die Vormerkung lokal
(neue Spalten scheduled_stripe_price/scheduled_change_at/
stripe_schedule_id an subscriptions)
- Sofort-Upgrade löst eine bestehende Vormerkung vorher auf (release)
- Webhook customer.subscription.updated räumt die Vormerkung nach
Vollzug ab
- Buchungs-Modal unterscheidet Upgrade (sofort, Differenz-Rechnung) und
Downgrade (Vormerkung, keine Zahlung heute); Banner + Hinweis auf der
Paket-Karte zeigen den vorgemerkten Wechsel mit Datum
- Kontingent-Sperre aus
|
||
|---|---|---|
| .agents/skills | ||
| .codex | ||
| .devcontainer | ||
| .github/workflows | ||
| _docs | ||
| app | ||
| bootstrap | ||
| config | ||
| database | ||
| dev | ||
| docs | ||
| lang | ||
| public | ||
| resources | ||
| routes | ||
| storage/debugbar | ||
| tests | ||
| .cursorrules | ||
| .editorconfig | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| .mcp.json | ||
| AGENTS.md | ||
| artisan | ||
| boost.json | ||
| CLAUDE.md | ||
| composer.json | ||
| composer.lock | ||
| docker-compose.yml | ||
| package-lock.json | ||
| package.json | ||
| phpstan-baseline.neon | ||
| phpstan.neon | ||
| phpunit.xml | ||
| pint.json | ||
| Readme.md | ||
| setup-new-asset-urls.sh | ||
| tailwind.portal.config.js | ||
| tailwind.web.config.js | ||
| vite | ||
| vite.config.js | ||
| vite.portal.config.js | ||
| vite.shared.js | ||
| vite.web.config.js | ||
Multi-Domain Laravel-Anwendung
Übersicht
Diese Laravel-Anwendung unterstützt verschiedene Domains mit unterschiedlichen Styles:
- Haupt-Website: https://pressekonto.test (lokal) / https://pressekonto.de (live) – Haupt-Portal Admin-Page
- APP_PRESSEECHO: https://presseecho.test
- APP_BUSINESSPORTAL: https://businessportal24.test
Installation
- Repository klonen
- Abhängigkeiten installieren:
composer install npm install - Umgebungsvariablen konfigurieren (siehe
.env.exampleundDOMAINS-CONFIG.md) - Laravel-Anwendung initialisieren:
php artisan key:generate php artisan migrate - Assets kompilieren:
npm run build npm run build:admin npm run build:web
Domain-Konfiguration
Die Domains werden über die .env-Datei konfiguriert. Für detaillierte Anweisungen siehe DOMAINS-CONFIG.md.
Lokaler Entwicklungsserver
php artisan serve
Asset-Kompilierung
Diese Anwendung verwendet Vite mit verschiedenen Konfigurationen:
- Hauptkompilierung:
npm run devodernpm run build - Admin-Assets:
npm run build:admin - Web-Assets:
npm run build:web
Domain-Simulation
Während der Entwicklung können Domains simuliert werden, ohne die Hosts-Datei zu bearbeiten:
- In der
.env-Datei:DEV_SIMULATE_DOMAIN=true - Gewünschte Domain angeben:
DEV_SIMULATED_DOMAIN=landing1.local
Favicons
Um Platzhalter-Favicons für alle konfigurierten Domains zu generieren:
php artisan domains:generate-favicons