feat(i18n,stripe): de/pl translations + order address snapshots from Checkout Session
- lang/de and lang/pl for cart.php and auth.php (informal register), every
key of lang/en translated; README documents the `shop::` namespace and
the lang/vendor/shop/<locale>/ override path.
- StripeWebhookController::handleCheckoutSessionCompleted now persists the
session's customer_details as Order.billing_address and shipping_details
as Order.shipping_address (falls back to billing when Stripe sent no
shipping block). Snapshot shape: name, email, phone, line1, line2,
postal_code, city, state, country, uid (first tax id). Only empty columns
are filled; a session without either block leaves the order untouched.
Optional host-added customer_email/customer_name columns are filled when
present and empty. Accepts Stripe objects, stdClass and arrays.
- Controller formatted with pint (composer lint).
Tests: tests/Unit/Stripe/StripeWebhookAddressTest.php (5),
tests/Feature/ShopServiceProvider/TranslationsTest.php (4). Full suite
green (1477, 7 skipped).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 11:39:40 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
return [
|
|
|
|
|
'session_updated' => 'Warenkorb aktualisiert.',
|
|
|
|
|
'not_found' => 'Dieser Artikel wurde nicht gefunden.',
|
|
|
|
|
'item_not_found' => 'Dieser Warenkorb-Artikel wurde nicht gefunden.',
|
|
|
|
|
'out_of_stock' => 'Nicht genügend Bestand verfügbar.',
|
|
|
|
|
'add_failed' => 'Der Artikel konnte nicht in deinen Warenkorb gelegt werden.',
|
|
|
|
|
'added' => 'In den Warenkorb gelegt.',
|
|
|
|
|
'removed' => 'Aus dem Warenkorb entfernt.',
|
|
|
|
|
'converted' => 'Dieser Warenkorb wurde bereits bestellt.',
|
|
|
|
|
'checkout_failed' => 'Der Checkout konnte nicht gestartet werden.',
|
|
|
|
|
'checkout_unavailable' => 'Der Checkout ist derzeit nicht verfügbar.',
|
|
|
|
|
'checkout_created' => 'Du wirst zur Zahlung weitergeleitet.',
|
2026-09-25 10:03:38 +00:00
|
|
|
'confirm_failed' => 'Wir konnten deine Zahlung gerade nicht prüfen. Bitte versuch es gleich noch einmal.',
|
feat(i18n,stripe): de/pl translations + order address snapshots from Checkout Session
- lang/de and lang/pl for cart.php and auth.php (informal register), every
key of lang/en translated; README documents the `shop::` namespace and
the lang/vendor/shop/<locale>/ override path.
- StripeWebhookController::handleCheckoutSessionCompleted now persists the
session's customer_details as Order.billing_address and shipping_details
as Order.shipping_address (falls back to billing when Stripe sent no
shipping block). Snapshot shape: name, email, phone, line1, line2,
postal_code, city, state, country, uid (first tax id). Only empty columns
are filled; a session without either block leaves the order untouched.
Optional host-added customer_email/customer_name columns are filled when
present and empty. Accepts Stripe objects, stdClass and arrays.
- Controller formatted with pint (composer lint).
Tests: tests/Unit/Stripe/StripeWebhookAddressTest.php (5),
tests/Feature/ShopServiceProvider/TranslationsTest.php (4). Full suite
green (1477, 7 skipped).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 11:39:40 +00:00
|
|
|
];
|