Thomas Bartelt
5e6fcb0c3d
feat(payments): Express-Adressen nur aus erlaubten Laendern (Setting express_countries, Standard DE)
2026-09-13 21:49:09 +02:00
Thomas Bartelt
da54028a6e
feat(payments): Anrede beim Express-Kauf keine Pflicht (Anbieter liefert keine)
2026-09-13 21:48:09 +02:00
Thomas Bartelt
f33533b411
feat(payments): Express-Kauf aus dem Warenkorb (PayPal v2): Start ohne Bestellung, Adresse von PayPal, Kasse vorbelegt, Capture ohne zweiten Besuch
2026-09-13 21:44:46 +02:00
Thomas Bartelt
e4b3f5a1ea
chore(payments): Webhook-Rohmitschnitt nur bei logs/webhook_debug
2026-09-13 21:35:26 +02:00
Thomas Bartelt
67af646f2e
fix(backend): Secret-Felder ohne type=password -- Browser-Autofill ueberschrieb die Webhook-ID
2026-09-13 21:34:07 +02:00
Thomas Bartelt
4ce09ac1b6
fix(paypal_v2): Webhook-Signatur lokal pruefen (Zertifikat, CRC32, SHA256withRSA); API-Verify nur als Rueckfall
2026-09-13 21:32:17 +02:00
Thomas Bartelt
4248f8c148
fix(paypal_v2): Webhook-Signatur mit rohem Body pruefen, Ablehnungsgrund protokollieren
2026-09-13 21:19:36 +02:00
Thomas Bartelt
83cf8b9808
chore(dev): display_errors aus -- Warnungen im Formular-HTML loesten WAF-403 in der Kasse aus
2026-09-13 21:00:58 +02:00
Thomas Bartelt
2698d518dc
fix(payments): Registry laedt Kernklassen sofort (Fatal im Zahlart-Editor beim Speichern)
2026-09-13 20:33:44 +02:00
Thomas Bartelt
37017b25dd
sync(dev): fehlende Admin-Theme-Assets vom Live-Stand ergaenzt (nichts ueberschrieben)
2026-09-13 19:58:55 +02:00
Thomas Bartelt
726f897c3d
chore(dev): payment_webhook.php ohne Basic-Auth erreichbar
2026-09-13 19:52:45 +02:00
Thomas Bartelt
397fb5944a
feat(payments): Anbieter-Gerüst core/payments mit PayPal Orders v2
...
- ProviderInterface/AbstractProvider: Vorgang mit Uhrzeit+Session (payment_transactions),
Mail und Warenkorb erst nach Zahlung, idempotentes markPaid, Betragsabgleich,
shop_event + PG payment_log
- Secrets verschluesselt (libsodium) in MySQL, Schluessel ausserhalb Docroot
- Cashdesk: ?payment_return/?payment_cancel, Pending-Riegel, zahlung_erst_spaeter()
- Backend Zahlart-Editor: Einstellungen speichern (war ohne Empfaenger), Secret-Felder
- payment_webhook.php (Standalone), cli.php (init-key, secret, reconcile, status)
- PayPal-v2-Blaupause vom Juli entfernt
2026-09-13 19:51:52 +02:00
Thomas Bartelt
af81e8f63a
sync: Zahlungsstrecke, PG-Events, Fatal-Log und PayPal-v2-Blaupause vom Live-Stand 2026-09-13
Deploy to Dev / deploy (push) Successful in 1s
2026-09-13 19:20:24 +02:00
Thomas Bartelt
20d55f77b8
wip: Mobile-Theme-Testphase und PHP-8.2-Guards (Stand Juni 2026)
2026-09-13 19:10:56 +02:00
Thomas Bartelt
08beac8d67
feat(widerruf): Form schlanker (Grund/Anmerkung raus) + Footer-Link 'Vertrag widerrufen'
...
Deploy to Dev / deploy (push) Successful in 1s
- widerruf.php: nur noch 3 Pflichtfelder (Name, Bestellnr, E-Mail) + Confirm-Checkbox
- main_widget_footer_menu.tpl: dauerhafter Link im Footer (gesetzliche Pflicht § 356a ab 19.06.2026)
- Live ist deployed, Dev parallel auf gleichem Stand
2026-06-14 23:14:36 +02:00
Thomas Bartelt
68a03080d1
feat(widerruf): Anonymous-Pfad + Token-Prefill für § 356a-Konformität
...
Deploy to Dev / deploy (push) Successful in 0s
- widerruf.php zeigt jetzt Formular (Name + Bestellnr + E-Mail) ohne Token-Zwang
- Token-Link aus Bestätigungs-Mail bleibt als Convenience, füllt Felder vor
- submit_anonymous() in Revocation-Klasse: Lookup via order_number + customer_email
- Anonymous-Eintrag wird inline angelegt, falls noch kein Token-basierter Record existiert
- Button-Beschriftung 'Vertrag widerrufen' (Gesetzes-Empfehlung)
- prefill_from_token() für Vorausfüllung bei Token-Link
2026-06-14 23:02:54 +02:00
Thomas Bartelt
afd2cedf92
feat: neue PostgreSQL-Suche (tba-search) aus newmail-vhost übernommen
Deploy to Dev / deploy (push) Successful in 0s
2026-04-20 02:11:11 +02:00
Thomas Bartelt
48b14a5bf7
ci: deploy-dev workflow (Gitea Actions, self-hosted host runner)
Deploy to Dev / deploy (push) Successful in 1s
2026-04-20 01:54:27 +02:00
Thomas Bartelt
22bcc04b3d
Template-Warnings: isset-Guards für $customer und $menu_item->activated
2026-04-20 01:20:32 +02:00
Thomas Bartelt
0a669704ea
Dev-Umgebung: Kompatibilität für PHP 8.3 + Smarty 4.5.6
...
- Smarty 4.1.1 → 4.5.6 (behebt dynamic property deprecations)
- Core-Klassen: #[\AllowDynamicProperties] für Admin_role, base, Config,
Customer, Customer_group, CustomerGroups, Item, Structure, website
- website.class.php: counts[parent_id] initialisieren vor ++ (PHP 8.1)
- layout.class.php: HTTP_ACCEPT_LANGUAGE mit isset-Guard
- website_init.php: session_status()-Check vor session_start
- .htaccess: HTTPS-Redirect via X-Forwarded-Proto (statt SERVER_PORT)
- themes/easyshop_advanced/media/: Parent-Theme-Assets nachgezogen
- .gitignore: smarty.4.1.1.bak ausschließen
2026-04-20 01:19:01 +02:00
Thomas Bartelt
d504f8a05d
Initial import: Carteasy Shop (Dev-Stand)
2026-04-20 01:03:43 +02:00