mivita/app/Mail
Kevin ce4750fd1a Stripe-Integration (S4, S5, S7.6): Abos, Zahlungsart ändern, Zahlarten-Kommunikation
Phase S4 – Abos über Stripe (E2E komplett im Testmodus):
- Abo-/Recovery-Checkout: customer_creation=always + setup_future_usage=off_session
- StripePaymentService::chargeAbo (off-session PaymentIntent, Idempotency-Key),
  StripeGateway, Provider-Dispatch im Abbuchungs-Cron (PAYONE-Pfad unverändert)
- Webhook: Zahlungsmittel-Capture vor Paid-Pfad, 503 payment_not_yet_visible bei
  Cron-Transaktions-Race; Command stripe:process-pending-events (Cron-Ende + 10-min
  Scheduler) verarbeitet liegengebliebene Events nach
- createNewAbo/advanceAboAfterRecoveryPayment Stripe-aware inkl. Race-Absicherung;
  Recovery-Orders nutzen advanceAboAfterRecoveryPayment (latenter PAYONE-Duplikat-Bug)
- Migrationen: Stripe-Abo-Spalten auf shopping_payments; clearingtype varchar(3)→(20)
  inkl. Reparatur der zu 'str' gekürzten Live-Zeilen

Phase S5 – Zahlungsart ändern (Scope: jede Zahlart, nicht nur Kreditkarte):
- Stripe Checkout mode=setup ohne Abbuchung; PAYONE-Abos ziehen beim Wechsel auf
  Stripe um (Auslaufmodell §7.2)
- AboPaymentMethodService: beginStripeChange/finalize/applyStripePaymentMethod
  (idempotent, detacht alte PM, card_changes-Log); Webhook setup_intent.succeeded
  als Sicherheitsnetz; Einstiege Portal/CRM/Berater-Kunden-Link flow-abhängig
- Views/Mails flow-abhängig („Zahlungsweise" statt „Kreditkarte")

Phase S7.6 – Zahlarten-Kommunikation:
- Einheitliche Zahlarten-Logos (SVG) + wiederverwendbares Partial payment_logos;
  Checkout/Footer zeigen Kern-Zahlarten + „···"-Icon, /zahlungsarten komplett neu
  mit allen aktiven Stripe-Zahlarten (gegen Account-Konfiguration verifiziert)
  und Vorkasse (PAYONE); Sofort/SEPA entfernt

Tests: StripeAboTest (15), StripePaymentMethodChangeTest (10),
PaymentMethodsCommunicationTest (28), PaymentProviderManagerTest angepasst.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:45:17 +00:00
..
AboCardUpdateLinkMail.php Stripe-Integration (S4, S5, S7.6): Abos, Zahlungsart ändern, Zahlarten-Kommunikation 2026-07-09 14:45:17 +00:00
AboPaymentFailedMail.php Abo-Recovery: fehlgeschlagene Folgezahlung im Checkout nachholen 2026-07-02 10:38:05 +00:00
Exception.php 08 2024 2024-08-05 12:05:24 +02:00
MailAboExecutionReminder.php Abo Einmalprodukte: Phasen 5-7, konfigurierbare Sperrfristen, Lokalisierung & Dashboard 2026-06-23 13:38:11 +00:00
MailAccountActive.php 01 2020 2020-02-14 10:18:44 +01:00
MailActivateUser.php 01 2020 2020-02-14 10:18:44 +01:00
MailAutoReleaseAccount.php Cocker Setup 2025-08-29 14:48:03 +02:00
MailCheckout.php Updates to 03-2025 2025-04-01 10:36:47 +02:00
MailContact.php User Order step1 2020-08-07 16:02:03 +02:00
MailCredit.php 20-02-2026 2026-02-20 17:55:06 +01:00
MailCustomMessage.php 20-02-2026 2026-02-20 17:55:06 +01:00
MailCustomPaymet.php Updates to 03-2025 2025-04-01 10:36:47 +02:00
MailDhlTracking.php 23-01-2026 2026-01-23 17:35:23 +01:00
MailInfo.php Cocker Setup 2025-08-29 14:48:03 +02:00
MailInvoice.php 20-02-2026 2026-02-20 17:55:06 +01:00
MailLog.php 08 2024 2024-08-05 12:05:24 +02:00
MailOTPCustomer.php commit 08-2025 2025-08-12 18:01:59 +02:00
MailReleaseAccount.php Cocker Setup 2025-08-29 14:48:03 +02:00
MailReleaseDocument.php Cocker Setup 2025-08-29 14:48:03 +02:00
MailResetPassword.php 01 2020 2020-02-14 10:18:44 +01:00
MailSyS.php User Order step1 2020-08-07 16:02:03 +02:00
MailUserLevelUpdate.php 23-01-2026 2026-01-23 17:35:23 +01:00
MailVerifyAccount.php 01 2020 2020-02-14 10:18:44 +01:00
MailVerifyContact.php 01 2020 2020-02-14 10:18:44 +01:00
MailWithdrawalConfirmation.php Widerruf: Gesetzliche Online-Widerrufsfunktion (Formular, Bestätigungsmail, Admin-Verwaltung) 2026-07-08 15:56:02 +00:00
PaymentIncidentAlert.php 14-04-2026 2026-04-14 18:07:45 +02:00
UserRestoreEmail.php 23-01-2026 2026-01-23 17:35:23 +01:00