fix: fehlenden STRIPE_PUBLISHABLE_KEY im Server-Log melden

Bisher fiel der fehlende Schluessel nur in der Kasse auf ("Zahlung gerade
nicht verfuegbar"), nie im Log des Pods.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-09-25 13:01:00 +02:00
1 parent 064ca3ff6d
commit 1c5282e84f
1 file changed
+13 -1
+13 -1
View File
@@ -43,9 +43,21 @@ export function getStripeClient(): Stripe {
* nicht gesetzt — vor allem ein versehentlich hier eingetragener geheimer
* Schluessel (sk_/rk_), der sonst im HTML jeder Kassenseite stuende.
*/
let missingPublishableKeyLogged = false;
export function getStripePublishableKey(): string | undefined {
const key = process.env.STRIPE_PUBLISHABLE_KEY?.trim();
if (!key) return undefined;
if (!key) {
// Sonst faellt das Fehlen nur in der Kasse auf ("Zahlung gerade nicht
// verfuegbar"), nie im Log. Einmal je Prozess genuegt.
if (!missingPublishableKeyLogged) {
missingPublishableKeyLogged = true;
console.error(
"STRIPE_PUBLISHABLE_KEY ist nicht gesetzt — der Checkout nimmt keine Bestellungen an. In k8s/01-configmap.yaml eintragen und den Pod neu starten."
);
}
return undefined;
}
if (!/^pk_(test|live)_[A-Za-z0-9]+$/.test(key)) {
console.error(
"STRIPE_PUBLISHABLE_KEY ist kein veroeffentlichbarer Schluessel (pk_test_/pk_live_) und wird ignoriert."