feat: add payment tracking for orders
- Add payment method selection (PayPal/Bar) to order form - Store payment_method and payment_status in database - Add payment status badges in admin orders view - Add "mark as paid" functionality for admins - PayPal account configurable via PAYPAL_ACCOUNT env variable - Frontend loads PayPal account dynamically from /wawi/config endpoint - Update email notifications to include payment method Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -41,6 +41,7 @@ Für Bestellungen per Mail zusätzlich:
|
||||
Optional:
|
||||
- `APP_API_KEY` – Schutz fuer `/wawi/api/bestand` und `/wawi/order`
|
||||
- `COOKIE_SECURE` – `0` fuer http lokal, `1` fuer https
|
||||
- `PAYPAL_ACCOUNT` – PayPal-E-Mail für Bestellformular (z.B. `paypal@beispiel.de`)
|
||||
|
||||
## Benutzerverwaltung
|
||||
Beim ersten Start wird **ein Admin** aus ENV erzeugt:
|
||||
@@ -59,10 +60,12 @@ python import_from_html.py /pfad/zu/hellas_bestand.html --truncate
|
||||
## Live‑Shop‑Ansicht (index.html)
|
||||
`index.html` lädt den Bestand aus der WaWi‑App:
|
||||
- API‑Proxy: `/wawi/proxy/bestand`
|
||||
- Konfiguration: `/wawi/config` (lädt PayPal-Konto aus ENV)
|
||||
|
||||
Wenn du diese Datei auf einem Webserver auslieferst, stelle sicher, dass die WaWi‑App unter `/wawi` erreichbar ist.
|
||||
Wenn du Bestellungen direkt aus `index.html` abschickst, muss der `X-Order-Key` bzw. `?key=` dem `APP_API_KEY` entsprechen.
|
||||
Der Key wird in `index.html` im Script‑Block gesetzt: `const ORDER_KEY = ""` (neben der Formularlogik). Trage dort deinen Key ein.
|
||||
Der Key wird in `index.html` im Script‑Block gesetzt: `const ORDER_KEY = ""`. Trage dort deinen Key ein (oder leer lassen, wenn kein API-Key erforderlich).
|
||||
Das PayPal-Konto wird automatisch aus der ENV-Variable `PAYPAL_ACCOUNT` geladen.
|
||||
|
||||
## Umgebungsvariablen (ENV)
|
||||
**Pflicht/Empfohlen für Produktion**
|
||||
@@ -80,6 +83,7 @@ Der Key wird in `index.html` im Script‑Block gesetzt: `const ORDER_KEY = ""` (
|
||||
**Optional**
|
||||
- `APP_API_KEY` – gemeinsamer API‑Key für `/wawi/api/bestand` **und** `/wawi/order`
|
||||
- `COOKIE_SECURE` – `1` (default) setzt Secure‑Cookie, `0` deaktiviert für http
|
||||
- `PAYPAL_ACCOUNT` – PayPal-E-Mail-Adresse für Bestellungen (wird im Bestellformular angezeigt)
|
||||
|
||||
## Deployment (systemd + Gunicorn)
|
||||
1) App nach `/var/www/hellas/wawi` kopieren
|
||||
@@ -112,6 +116,7 @@ Environment="SMTP_PASS=dein_pass"
|
||||
Environment="SMTP_FROM=bestand@example.com"
|
||||
Environment="ORDER_TO=admin@example.com, zweite@example.com"
|
||||
Environment="APP_API_KEY=api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
Environment="PAYPAL_ACCOUNT=dein-paypal@beispiel.de"
|
||||
ExecStart=/var/www/hellas/wawi/.venv/bin/gunicorn -w 3 -b 127.0.0.1:8000 app:app
|
||||
Restart=always
|
||||
|
||||
|
||||
Reference in New Issue
Block a user