Checkout: Stripe-Tax-Adressanforderung erfüllen
Stripe Tax verlangt eine gültige Kundenadresse. Beide Checkout-Sessions erfassen jetzt die Rechnungsadresse verpflichtend und speichern sie am Stripe-Customer (customer_update address/name = auto; Name ist Pflicht bei aktivierter USt-ID-Abfrage). Zusätzlich liefert User::stripeAddress() die lokale Rechnungsadresse bei der Customer-Anlage mit (Cashier-Hook). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
6a82e2a2a8
commit
8f3261d0b4
3 changed files with 191 additions and 133 deletions
|
|
@ -80,6 +80,31 @@ class User extends Authenticatable
|
|||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Adresse für die Stripe-Customer-Anlage (Cashier-Hook). Stripe Tax
|
||||
* braucht eine gültige Kundenadresse — falls lokal eine
|
||||
* Rechnungsadresse gepflegt ist, wird sie direkt mitgegeben; sonst
|
||||
* speichert der Checkout die dort erfasste Adresse (customer_update).
|
||||
*
|
||||
* @return array<string, string|null>|null
|
||||
*/
|
||||
public function stripeAddress(): ?array
|
||||
{
|
||||
$address = $this->billingAddress;
|
||||
|
||||
if (! $address) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return [
|
||||
'line1' => $address->address1,
|
||||
'line2' => $address->address2,
|
||||
'postal_code' => $address->postal_code,
|
||||
'city' => $address->city,
|
||||
'country' => $address->country_code,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Der Tarif des aktiven Stripe-Abos, aufgelöst über die in `plans`
|
||||
* gepflegten Stripe-Preis-IDs. Null ohne (gültiges) Abo.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue