No description
Find a file
Kevin ccc6f85809 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
.devcontainer 13-05-2026 implementation FR 2026-05-13 17:33:52 +02:00
app Payment Phase R: PAYONE-Integration entflechten (R1–R7 + Review) 2026-06-10 13:42:45 +00:00
bootstrap 20-02-2026 2026-02-20 17:55:06 +01:00
config Payment Phase R: PAYONE-Integration entflechten (R1–R7 + Review) 2026-06-10 13:42:45 +00:00
database Payment Phase R: PAYONE-Integration entflechten (R1–R7 + Review) 2026-06-10 13:42:45 +00:00
dev Payment Phase R: PAYONE-Integration entflechten (R1–R7 + Review) 2026-06-10 13:42:45 +00:00
packages 27-05-2026 DHL Modul v2.1 / Optimierung tracking 2026-05-27 18:51:23 +02:00
public Abo Einmalprodukte und Bestätigung abschließen 2026-06-05 15:28:08 +00:00
resources Abo Einmalprodukte: Phase 4 - Ausfuehrung, Purge & User-Retry 2026-06-08 15:32:27 +00:00
routes Abo Einmalprodukte: Phase 4 - Ausfuehrung, Purge & User-Retry 2026-06-08 15:32:27 +00:00
storage 20-02-2026 2026-02-20 17:55:06 +01:00
tests Payment Phase R: PAYONE-Integration entflechten (R1–R7 + Review) 2026-06-10 13:42:45 +00:00
.devcontainer.env update 20.10.2025 2025-10-20 17:42:08 +02:00
.env.dhl.example Cocker Setup 2025-08-29 14:48:03 +02:00
.env.example Payment Phase R: PAYONE-Integration entflechten (R1–R7 + Review) 2026-06-10 13:42:45 +00:00
.gitignore 23-01-2026 2026-01-23 17:35:23 +01:00
.htaccess First Commit 2018-10-29 09:39:31 +01:00
.mcp.json 20-02-2026 2026-02-20 17:55:06 +01:00
.phpunit.result.cache 20-02-2026 2026-02-20 17:55:06 +01:00
.rnd Customers Add+Edit, API WP 2020-06-12 14:46:51 +02:00
_todo.txt Updates to 03-2025 2025-04-01 10:36:47 +02:00
artisan First Commit 2018-10-29 09:39:31 +01:00
boost.json 20-02-2026 2026-02-20 17:55:06 +01:00
CLAUDE.md 20-02-2026 2026-02-20 17:55:06 +01:00
clean_script_server.sh commit 08-2025 2025-08-12 18:01:59 +02:00
composer.json 20-02-2026 2026-02-20 17:55:06 +01:00
composer.lock 20-02-2026 2026-02-20 17:55:06 +01:00
cron_script_local.sh Updates to 03-2025 2025-04-01 10:36:47 +02:00
cron_script_server.sh Updates to 03-2025 2025-04-01 10:36:47 +02:00
database.db 20-02-2026 2026-02-20 17:55:06 +01:00
docker-compose.yml 10.April 2026 2026-04-10 17:15:27 +02:00
mivita.code-workspace update 20.10.2025 2025-10-20 17:42:08 +02:00
package.json First Commit 2018-10-29 09:39:31 +01:00
phpunit.xml Payment Phase R: PAYONE-Integration entflechten (R1–R7 + Review) 2026-06-10 13:42:45 +00:00
restore_dc_tags_categories.sql 20-02-2026 2026-02-20 17:55:06 +01:00
server.php First Commit 2018-10-29 09:39:31 +01:00
sync_live_to_local.sh 23-01-2026 2026-01-23 17:35:23 +01:00
webpack.mix.js First Commit 2018-10-29 09:39:31 +01:00