diff --git a/src/lib/stripe.ts b/src/lib/stripe.ts index 216d63b..507287e 100644 --- a/src/lib/stripe.ts +++ b/src/lib/stripe.ts @@ -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."