|
|
d4e9d108ad
|
Statistiken/Abo: Kundenfeedback 2026-07-24 komplett umgesetzt + Steuern: DATEV-Fixes 08+09/2025 (Sammel-Commit Branch-WIP)
Feedback-Umsetzung (dev/2026-07-22/feedback-analyse-2026-07-24.md, alle 10 Punkte):
- VIP-Statistik: eigener Berater ('ich', Linie 0) in Neue-Kundenabos- und beiden Top-10-Listen; Top-10-Umsatz sortiert nach abgerechneten Ist-Punkten + Abo-Anzahl-Spalte; Fußnote nicht-payline-wirksame Punkte (SalesVolumePoints::nonPaylinePoints)
- Führungskräfte-Liste: beide Sichten 'direkt' (an nächster FK abgeschnitten, additiv) und 'gesamt' (komplette Downline), Gesamt-Spalte nach Kundenzählweise
- Team-Abos: je Ebene 'abgerechnet (Monat)' und 'bis zum 25. erwartet'; Payline-Karte mit Teamabo-/Kundenabo-Zählern
- Incentive-Live-Ranking: Qualifizierte zuerst nummeriert (fixt auch isWinner rank<=max_winners)
- Porto: Netto-/Brutto-Kennzeichnung (Berater netto, Endkunden inkl. MwSt., portal_view-Flag; auch CRM-/Shop-Warenkorb + Checkout), Yard::shipping_tax-Fix
- Struktur-Ansicht: Abo-Badges 'A' (eigenes Abo) und '(n)' (Kundenabos) je Teampartner, gebatcht
- Abo-Löschung: Softdelete setzt active=0 (UserAbo deleting-Hook) + Bereinigungs-Migration für gelöschte-aber-aktive Abos
- Doku: technische Analyse + Kundinnen-Feedback-Dokument unter dev/2026-07-22/
- Tests: IncentiveRankingTest, TeamStructureAboBadgesTest, YardShippingTaxTest (neu); BackofficeStatisticsListsTest, TeamAboOverviewTest, PaylineForecastServiceTest, AboAdminDeleteTest, AboOneTimeViewTest erweitert
Außerdem enthalten (Branch-WIP vor dem Feedback): DATEV-Abgleich-Fixes 08+09/2025, USt-ID-Live-Validierung sowie restliche unkommittete Stände (u. a. Abo-Pause-Sprachkeys).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-24 13:56:02 +00:00 |
|
|
|
e1da90ff91
|
Stripe-Integration (S0–S3): Einmalzahlungen über Stripe Checkout + Notfall-Go-Live
Wegen PAYONE-Ausfall vorgezogen live geschaltet: alle Einmalzahlungen
(Shop + Salescenter) laufen über Stripe Hosted Checkout, Abos sind bis
Phase S4 eingefroren.
- Provider-Abstraktion: PaymentProvider-Enum, PaymentGatewayInterface,
PaymentProviderManager (Settings-Schalter, provider-treu je Bestand),
PayoneGateway als unveränderter Adapter
- StripePaymentService: Checkout Session (eine Gesamtposition, Metadata,
success/cancel-Redirects), StripeClientWrapper (lazy, Dark Launch),
StripeCustomerService, StripeTransactionRecorder (client_secret-Redaction)
- Webhook /stripe/webhook: Signaturprüfung, Idempotenz über
stripe_webhook_events (Crash-Retry-Reprocessing), txaction-Prioritäten,
Betrags-Guard, lockForUpdate-Paid-Pfad, genau eine Bestätigungsmail
- Zahlungsmethoden-Anzeige aus charge.succeeded (carddata inkl. Wallet,
auftragsunabhängiges Backfill aus dem Event-Store)
- Checkout: Wartungsmodus mit Admin-Bypass, Abo-Freeze-Hinweis,
Stripe-Option (Online-Zahlung) statt Zahlartenwahl, Vorkasse ausblendbar
- Abo-Freeze-Guards: Cron user:make_abo_order, Retry, Kartenupdate
- Admin-Settings-Karte Zahlungen (Provider, Wartung, Freeze, Vorkasse)
- Hotfix: 500 bei Vorkasse ohne Clearing-Daten in admin/sales/_detail
und checkout-final (PAYONE-Ausfall)
- Doku dev/2026-07-08-stripe/ (Plan S0–S8, Konzept, IST-Analyse)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-07-08 15:56:41 +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 |
|
|
|
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 |
|
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
|
0341c9c189
|
Free Shipping, Business Levels correction, Products Buying, Fonts
|
2023-01-25 12:37:29 +01: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
|
cc5c147c27
|
API User Like
|
2021-12-25 02:59:15 +01:00 |
|
Kevin Adametz
|
51d81d8ec6
|
Custom Price / Land / User Order Homeparty
|
2021-08-20 18:22:21 +02:00 |
|
Kevin Adametz
|
351a8f763c
|
Categories, Netto Homeparty
|
2021-06-18 15:02:34 +02:00 |
|
Kevin Adametz
|
13fb2cfe98
|
API work
|
2021-02-10 10:56:40 +01:00 |
|
Kevin Adametz
|
16fe2fa363
|
Next Member Shopping
|
2020-08-21 18:20:40 +02:00 |
|
Kevin Adametz
|
a5db985ae8
|
User Order step1
|
2020-08-07 16:02:03 +02:00 |
|
Kevin Adametz
|
da08e9ff37
|
MwSt
|
2020-07-01 13:21:35 +02:00 |
|
Kevin Adametz
|
9ed251820e
|
Produkte SysAdmin
|
2020-06-14 13:48:11 +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
|
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
|
8ebdacec98
|
23.11 Upload to live
|
2019-11-23 15:02:41 +01:00 |
|
Kevin Adametz
|
6db007fc82
|
last corrections for payments
|
2019-03-19 15:45:46 +01:00 |
|
Kevin Adametz
|
044a6bf253
|
Payone, Shop, wizard
|
2019-03-04 17:05:44 +01:00 |
|
Kevin Adametz
|
d4f6a774d0
|
user shops + shipping
|
2019-01-06 01:40:44 +01:00 |
|
Kevin Adametz
|
c129a44383
|
Card + Products
|
2018-12-12 14:33:52 +01:00 |
|