Optimierung 3.5: Kleinere Zentralisierungen (VAT, findByEmail, Waehrung, Provisioning)
- VatResolver::normalizeCountryCode()/isEuCountry() als Single Source of Truth;
resolve(), VatIdValidationService und StripeCheckoutService nutzen jetzt die
zentrale EU-Pruefung statt eigener config-Lookups.
- User::findByEmail() buendelt die LOWER(email)-Lookups (ContactAccessService,
SocialAuthService). Bleibt bewusst case-insensitiv, da E-Mails nicht
normalisiert gespeichert werden; der indexfreundliche Direktvergleich
braucht erst eine Schreib-Normalisierung (offen, dokumentiert).
- config('billing.default_currency') ersetzt 8 verstreute 'EUR'/'eur'-Literale
(Stripe-Calls via strtolower). Vereinheitlicht nebenbei die zuvor uneinheitlich
gespeicherte SinglePurchase.currency.
- Neuer CustomerAccountProvisioner::provisionVerifiedCustomer() ist die
gemeinsame Provisioning-Methode (verifiziert + aktiv + customer-Rolle) fuer
ContactAccessService und SocialAuthService.
- Tests: UserFindByEmailTest, erweiterte VatResolverTest.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
9ed429fe74
commit
4466858aac
19 changed files with 151 additions and 46 deletions
|
|
@ -63,6 +63,11 @@ return [
|
|||
|
||||
'vat_rate' => env('BILLING_VAT_RATE', 0.19),
|
||||
|
||||
// Standard-Abrechnungswährung (ISO 4217). Intern/Anzeige in Großschreibung
|
||||
// ('EUR'); für Stripe-API-Aufrufe in Kleinschreibung umwandeln
|
||||
// (strtolower(config('billing.default_currency'))).
|
||||
'default_currency' => env('BILLING_DEFAULT_CURRENCY', 'EUR'),
|
||||
|
||||
// Eigene deutsche USt-ID des Betreibers — Pflichtangabe für die
|
||||
// eVatR-Online-Bestätigung ausländischer EU-USt-IDs (BZSt-REST-API).
|
||||
// Ohne sie bleibt die USt-ID-Prüfung eine reine Formatprüfung.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue