diff --git a/src/routes/api/genesis/verify-lightning-payment/+server.ts b/src/routes/api/genesis/verify-lightning-payment/+server.ts index 696cdee..fcd7e12 100644 --- a/src/routes/api/genesis/verify-lightning-payment/+server.ts +++ b/src/routes/api/genesis/verify-lightning-payment/+server.ts @@ -49,6 +49,16 @@ export const POST: RequestHandler = async ({ request, platform }) => { // Look up stored metadata to verify the request const kv = platform?.env?.GATED_CONTENT ?? null; + if (!kv && env.NODE_ENV === 'production') { + console.error('[Genesis Lightning] GATED_CONTENT KV binding is missing in production environment'); + return json( + { + error: 'Service unavailable', + message: 'GATED_CONTENT KV namespace is not configured' + }, + { status: 503 } + ); + } const metadata = receiveRequestId ? await getInvoiceMetadata(kv, receiveRequestId) : await getInvoiceMetadataByPaymentHash(kv, paymentHash); diff --git a/src/routes/api/membership/verify-lightning-payment/+server.ts b/src/routes/api/membership/verify-lightning-payment/+server.ts index 7d28626..e6ed5ba 100644 --- a/src/routes/api/membership/verify-lightning-payment/+server.ts +++ b/src/routes/api/membership/verify-lightning-payment/+server.ts @@ -71,11 +71,13 @@ export const POST: RequestHandler = async ({ request, platform }) => { // Look up stored metadata to verify the request matches what was created const kv = platform?.env?.GATED_CONTENT ?? null; - - // In production, missing KV binding is a misconfiguration, not a 404 if (!kv && env.NODE_ENV === 'production') { + console.error('[Verify Lightning] GATED_CONTENT KV binding is missing in production environment'); return json( - { error: 'Service unavailable: GATED_CONTENT KV binding is missing' }, + { + error: 'Service unavailable', + message: 'GATED_CONTENT KV namespace is not configured' + }, { status: 503 } ); }