presseportale/app/Models
Kevin Adametz c8dc99c3c8 Phase 9E (Abschluss): Checkout-Flows und Plan-Kontingent statt Quota-Stub
- Checkout-Backend: me.checkout.subscription (Tarif-Abo monatlich/jährlich)
  und me.checkout.single-pm (Einzel-PM 19 € netto, pending-Kauf mit
  Webhook-Erfüllung); StripeCheckoutService als mockbarer Stripe-Wrapper;
  Stripe Tax via Cashier::calculateTaxes() (Netto-Preise, USt-ID-Abfrage)
- Slot-Logik: Kontingent aus dem Tarif (plans.press_release_quota) plus
  bezahlte Einmalkäufe; Verbrauch bei Veröffentlichung zuerst aus dem
  Plan-Zähler, danach Einlösung des ältesten Einmalkaufs (consumed +
  PM-Verknüpfung); Grandfathered = unbegrenzt (Entscheidung 12.06.2026,
  Bestandsschutz); Stub-Spalte users.press_release_quota entfernt
- billing:sync-stripe-plans legt zusätzlich das Einzel-PM-Produkt an
  (STRIPE_PRICE_SINGLE_PM); Test-Mode-Sync gelaufen
- Buchungs-Seite: Rückmeldung nach Checkout (erfolg/abbruch/Guard-Hinweis)
- Tests: PressReleaseQuotaTest auf Plan-Semantik neu geschrieben,
  CheckoutFlowTest (8 Tests), Modal-/API-Tests angepasst; Suite 510 passed
- Doku: Billing-und-Rechnungskreise (Kontingent-Tabelle, Checkout-Routen,
  Webhook-Events, Stripe-CLI-Hinweis), PHASE-9-Plan 9E , Checkliste,
  STATUS-ABGLEICH, PROGRESS

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 12:10:32 +00:00
..
Concerns 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
AdminPreset.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
ApiUsageLog.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
BillingAddress.php USt-Behandlung: Netto-Preise, VatResolver und Steuer-Ausweis im MAN-Kreis 2026-06-12 10:58:43 +00:00
Category.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
CategoryTranslation.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Company.php create PM v0.5 2026-05-20 19:14:39 +02:00
Contact.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
FooterCode.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Invoice.php USt-Behandlung: Netto-Preise, VatResolver und Steuer-Ausweis im MAN-Kreis 2026-06-12 10:58:43 +00:00
InvoiceBillingAddress.php USt-Behandlung: Netto-Preise, VatResolver und Steuer-Ausweis im MAN-Kreis 2026-06-12 10:58:43 +00:00
KiAudit.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
LegacyImportMap.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
LegacyInvoice.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
MagicLink.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
NewsletterSubscription.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
PaymentOption.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
PaymentOptionTranslation.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Plan.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
PressRelease.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
PressReleaseAttachment.php create PM v0.5 2026-05-20 19:14:39 +02:00
PressReleaseImage.php User Panel: Phase-8-Abschluss, Titelbild/Lizenzen/Zeitzonen und KI-Pruef-Pipeline 2026-06-12 08:30:13 +00:00
PressReleaseStatusLog.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
Profile.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
SinglePurchase.php Phase 9D: Tarif-Datenmodell, Cashier und hybride Rechnungskreise STR-/MAN- 2026-06-12 10:15:46 +00:00
User.php Phase 9E (Abschluss): Checkout-Flows und Plan-Kontingent statt Quota-Stub 2026-06-12 12:10:32 +00:00
UserFilterPreset.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
UserPayment.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00
UserPaymentOption.php 12-05-2026 Frontend dev 2026-05-12 18:32:33 +02:00