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

@ -31,6 +31,15 @@ test('the stripe recipient name falls back to the billing name, then the display
expect($withoutAddress->stripeName())->toBe('Nur Anzeigename');
});
test('the stripe locale follows the account language', function () {
// Steuert die Sprache der Stripe-Belege (Rechnung, Quittung, Mahnung).
$german = User::factory()->create(['language' => 'de']);
$english = User::factory()->create(['language' => 'en']);
expect($german->stripePreferredLocales())->toBe(['de-DE'])
->and($english->stripePreferredLocales())->toBe(['en']);
});
test('the stripe address mirrors the billing address', function () {
$user = User::factory()->create();
BillingAddress::factory()->create([