e7b40bc513
Abo-Recovery: fehlgeschlagene Folgezahlung im Checkout nachholen
...
- Pay-now-Flow: bei fehlgeschlagenem Abo (Status 3) begleicht der Inhaber die
offene Rechnung im Standard-Checkout mit frei waehlbarer, abo-faehiger Zahlart
(nur eigenes Abo: Berater me-View + Kundenportal), payNow-Controller + Routen
- AboRecoveryCheckoutService baut die ShoppingInstance aus den Abo-Artikeln;
neue Spalte shopping_orders.recovery_user_abo_id verknuepft Bestellung<->Abo
- Bei Erfolg: AboHelper::advanceAboAfterRecoveryPayment schreibt das Abo fort
(Status->2, next_date) und uebernimmt die gewaehlte Zahlart als neues Token
fuer kuenftige Abbuchungen
- Neue Pay-now-Fehlermail (AboPaymentFailedMail) ersetzt die generische
Fehlermail im Abo-Cron; Link fuehrt auf die Abo-Detailseite (CRM bzw. Portal)
- Retry-/"extern erledigt"-Buttons nur noch fuer Admins; tote user/portal-
Retry-Routen entfernt
- Checkout: Recovery-Hinweis statt "Abschluss des Abonnements", Lieferadresse
vorbelegt, korrekter Zurueck-Link (Abo statt Shop)
- UserAbo::selfServiceDetailUrl zentralisiert die Abo-URL (Mail, Back-Links)
- Test-Command abo:test-recovery; Tests fuer payNow, Advance-Logik, Fehlermail
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 10:38:05 +00:00
dcd0384878
Abo Einmalprodukte: Phasen 5-7, konfigurierbare Sperrfristen, Lokalisierung & Dashboard
...
Rechnung/Lieferschein:
- PDF-Gruppierung Abo- vs. Einmal-Artikel (is_abo_addon), rueckwaertskompatibel
- Vorschau-Command sales:preview-invoice (umgeht Test-System-Gate, ohne Rechnungsnummer)
Reminder-Mail (vorbereitet, Cron inaktiv):
- MailAboExecutionReminder + Template, abo:send-execution-reminder, Spalte onetime_reminder_sent_for
- Berater -> Sales Center, Kunde -> Portal; Vorschau abo:preview-reminder
- Datum-Fix: formatDateDB() statt formatDate() (ICU-Format)
Sperrfristen konfigurierbar (Admin-Settings):
- abo-lock-days-change (Liefertag + Abo-Produkte), abo-lock-days-pause-cancel
- Meldungen mit :lock-Platzhalter; Pausieren/Kuendigen vom Change-Lock entkoppelt
- Abo-Produkt-Aenderungen im Lock-Fenster server- + clientseitig eingefroren
- Selbstbedienung: Add-only/Lock nach $view (kein Admin-Bypass), Stale-Cache-Fix beim Mengen-Update
Dashboard:
- Einmalprodukte-Card + Team-Abo-KPI-Card, News-Card responsiv (col-xl-6)
Lokalisierung:
- Sprachdateien en/es/fr vollstaendig mit de synchronisiert (inkl. marketingplan/portal)
- LocalizationSyncTest sichert Key-Gleichheit ab
Tests: AboOneTimeInvoiceGrouping, AboExecutionReminder, AboLockDaysSetting,
AboOnetimeDashboardAndMail, PreviewInvoiceCommand, TeamAboOverview + erweiterte View-Tests
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 13:38:11 +00:00
8593dbe65d
Payment Phase R: PAYONE-Integration entflechten (R1–R7 + Review)
...
Strangler-Refactoring der PAYONE-Zahlungslogik in eine testbare
Service-Schicht, ohne Verhalten in Checkout/Cron/IPN zu ändern.
Neue Services (app/Services/Payment/Payone):
- PayonePaymentService (+ PayonePaymentResult-DTO) für CC-/SEPA-Check
und Abo-Abbuchung
- PayoneRequestBuilder, PaymentMethodResolver, PayoneMethodConfig
- PayoneTransactionRecorder: zentrale PaymentTransaction-Erstellung
(API-Response, Invoice, Webhook) inkl. PCI-Redaction (cardpan/cardcvc2)
- PayoneWebhookHandler (+ PayoneWebhookResult): IPN/TSOK-Logik aus
Api\PayoneController; response('TSOK') statt echo/exit
- PayoneTransportException + Handler-Mapping (403) statt abort() im Service
Hotfixes (R1): var_dump/exit & bare exit() entfernt, Log-Redaction.
Security (R-Review):
- PAYONE_KEY_HASH (MD5-Hash, kein Klartext) mit Boot-Hard-Fail; schließt
zugleich die ''-Webhook-Bypass-Lücke. Artisan-Command payone:hash-key
(verdeckte Eingabe, optional --write) zur Hash-Erzeugung.
- Webhook: txaction Pflichtfeld, mode-Fallback auf payment->mode.
Pay\PayoneController ist @deprecated-Fassade (614 → 328 Zeilen),
delegiert an Services via Container-Singleton.
Migration: fehlende Spalte shopping_payments.carddata nachgezogen.
Tests: 47 grün (PayonePaymentService, Recorder, Webhook, Resolver,
TransportException, hash-key). End-to-End im Test-System verifiziert
(siehe dev/2026-06-09-payments).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 13:42:45 +00:00
2269ce031f
Abo Einmalprodukte und Bestätigung abschließen
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 15:28:08 +00:00
036595be94
27-05-2026 Update DHL Modul v2.0
2026-05-27 13:40:38 +00:00
53bdba33cd
User Statistik
2026-05-18 17:23:28 +02:00
70240d2b6a
13-05-2026 implementation FR
2026-05-13 17:33:52 +02:00
0f82fea88a
14-04-2026
2026-04-14 18:07:45 +02:00
f58c709945
10.April 2026
2026-04-10 17:15:27 +02:00
a00c42e770
20-02-2026
2026-02-20 17:55:06 +01:00
a8b395e20d
23-01-2026
2026-01-23 17:35:23 +01:00
a939cd51ef
update 20.10.2025
2025-10-20 17:42:08 +02:00
8c11130b5d
Cocker Setup
2025-08-29 14:48:03 +02:00
Kevin Adametz
8fdaa0ba1d
DHL Modul v0.5 Shipping Label ok
2025-08-22 18:18:26 +02:00
Kevin Adametz
480fdc65ed
commit 08-2025
2025-08-12 18:01:59 +02:00
Kevin Adametz
9ae662f63e
Updates to 03-2025
2025-04-01 10:36:47 +02:00
Kevin Adametz
bfa3bb1df4
08 2024
2024-08-05 12:05:24 +02:00
Kevin Adametz
04d677d37a
last changes since 6-2023
2023-07-03 10:07:08 +02:00
Kevin Adametz
0341c9c189
Free Shipping, Business Levels correction, Products Buying, Fonts
2023-01-25 12:37:29 +01:00
Kevin Adametz
3f2fbd6d5b
#51 Festschreiben der Points, Gutschriftenmodul
2022-07-29 18:18:05 +02:00
Kevin Adametz
263cf93a1e
#53 , #52 , #51 change Points
2022-07-21 10:37:34 +02:00
Kevin Adametz
582ca8299d
Sammelbestellung von Extern
2022-07-18 18:07:31 +02:00
Kevin Adametz
d01b4bd560
API Shopping Order backend
2022-07-15 21:21:56 +02:00
Kevin Adametz
7a040c3e19
06 2022
2022-06-15 18:08:45 +02:00
Kevin Adametz
9b0b5feb7e
Update Framework, Invoices
2022-04-14 13:14:36 +02:00
Kevin Adametz
51d81d8ec6
Custom Price / Land / User Order Homeparty
2021-08-20 18:22:21 +02:00
Kevin Adametz
d46824a4ac
Lieferland UST CH, Reverse Charge
2021-08-03 16:00:01 +02:00
Kevin Adametz
7d1ee844eb
Cookiebot / Pixel / Kategorien erweitern
2021-04-29 16:36:58 +02:00
Kevin Adametz
13fb2cfe98
API work
2021-02-10 10:56:40 +01:00
Kevin Adametz
c73299e52e
Homparty v1.0
2020-12-17 23:02:22 +01:00
Kevin Adametz
ac0d5b781e
Homparty dev
2020-12-16 20:03:51 +01:00
Kevin Adametz
9252094a04
+ Homparty Part 1
2020-10-16 16:18:00 +02:00
Kevin Adametz
c4ed6b39db
Erweiterungen / Korrekturen Beraterbestellungen
2020-09-08 19:22:07 +02:00
Kevin Adametz
ecc71c616f
Berater Bestellung / online
2020-08-24 18:17:02 +02:00
Kevin Adametz
fb27009339
cart responsive, Checkout from cart
2020-08-14 18:32:41 +02:00
Kevin Adametz
a5db985ae8
User Order step1
2020-08-07 16:02:03 +02:00
Kevin Adametz
eb55b01b0d
Shipping Tax Card
2020-07-01 16:13:38 +02:00
Kevin Adametz
75a0f9a38a
Customers Add+Edit, API WP
2020-06-12 14:46:51 +02:00
Kevin Adametz
dc63fa9fb2
Kundenhoheit
2020-05-06 15:43:53 +02:00
Kevin Adametz
d8b5206031
Registierung Korrekturen
2020-04-29 20:06:51 +02:00
Kevin Adametz
8e4bb0c2f6
register, Grundpreis
2020-04-01 15:35:11 +02:00
Kevin Adametz
f06d2d15a5
register step
2020-03-26 09:46:06 +01:00
Kevin Adametz
1ada368ed4
Berater Register, Mitgliedschat live
...
https://dev.adametz.media:3000/cliquers/mivita.care/issues/3
2020-03-09 14:45:09 +01:00
Kevin Adametz
21abafb8db
Membership
2020-03-07 19:44:58 +01:00
Kevin Adametz
37cb2b06c7
membership register
2020-02-15 14:53:32 +01:00
Kevin Adametz
3711fcc8d0
01 2020
2020-02-14 10:18:44 +01:00
Kevin Adametz
7ef7a507c7
leads, sales lists, m_data, orders
2020-01-03 17:44:26 +01:00
Kevin Adametz
1a43060996
Tickets #4 , #5 , #6
2020-01-02 19:22:30 +01:00
Kevin Adametz
8ebdacec98
23.11 Upload to live
2019-11-23 15:02:41 +01:00
Kevin Adametz
446bc4561b
checkout, register, payment,
...
checkout correction,
register wizard,
payment packege,
2019-03-02 00:08:11 +01:00