billing: Stripe-Belege auf Deutsch und sprechende Produktnamen

Drei Stellschrauben für die Stripe-Rechnung (Befund Test-Buchung:
englischer Beleg, Position nur 'Starter'):
- stripePreferredLocales() am User: Stripe rendert Rechnung/Quittung
  in der Kontosprache (de-DE, bei language=en englisch)
- Checkout-Session mit locale in der Kontosprache statt Auto-Erkennung
- billing:sync-stripe-plans vergibt sprechende Produktnamen inkl.
  PM-Kontingent und zieht sie bei bereits verknüpften Plänen an den
  bestehenden Stripe-Produkten nach (Preise bleiben unverändert)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kevin Adametz 2026-07-15 15:25:07 +00:00
parent 37bcf731bf
commit a574898ca9
4 changed files with 51 additions and 2 deletions

View file

@ -123,6 +123,18 @@ class User extends Authenticatable implements MustVerifyEmail
return $address?->company ?: ($address?->name ?: $this->name);
}
/**
* Sprache für Stripe-Belege (Cashier-Hook): Rechnungen, Quittungen und
* Mahn-Mails von Stripe folgen der Kontosprache statt Stripes
* Englisch-Default.
*
* @return array<int, string>
*/
public function stripePreferredLocales(): ?array
{
return [$this->language === 'en' ? 'en' : 'de-DE'];
}
/**
* Buchungs-Voraussetzung (Entscheidung 12.06.2026): Tarif- und
* Einzel-PM-Checkouts erfordern eine vollständige Rechnungsadresse.