From 521f504aa3442baa1a3943f9a2a998c69e59e489 Mon Sep 17 00:00:00 2001 From: JUSN Date: Tue, 18 Aug 2026 19:40:58 +0200 Subject: [PATCH] Web-Kauf: Guthaben kaufen & nutzen im Browser (Stripe, Demo-Seite) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - demo.html: Kauf-Block mit Paketen (5/15 Analysen), Guthaben-Banner, Pflicht-Einwilligung (sofortige Leistung, Widerruf erlischt), Rückkehr von Stripe (/kauf-status), Wallet-Token in localStorage, bezahlte Analysen umgehen die Gratis-Sperre und zählen das Guthaben herunter. Co-Authored-By: Claude Opus 4.8 --- proxy/src/index.ts | 6 +- webseite/demo.html | 240 +++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 233 insertions(+), 13 deletions(-) diff --git a/proxy/src/index.ts b/proxy/src/index.ts index a2906c5..8b8f387 100644 --- a/proxy/src/index.ts +++ b/proxy/src/index.ts @@ -388,9 +388,9 @@ async function demoHandler(request: Request, env: Env): Promise { /** Credit-Pakete: Stripe-Price-ID -> Anzahl Analysen. * NACH dem Anlegen der Produkte in Stripe die echten `price_…`-IDs eintragen. */ const PAKETE: Record = { - // TODO: echte Stripe-Price-IDs eintragen (Test- und/oder Live-IDs) - 'price_PAKET_5': { credits: 5 }, - 'price_PAKET_15': { credits: 15 }, + // Stripe TEST-Preise (Webklar-Sandbox). Für Live später die Live-price_…-IDs. + 'price_1U5Q7RBsRA1AOdneaik2HGkA': { credits: 5 }, // 2,99 € — 5 Analysen + 'price_1U5Q83BsRA1AOdneNIqu1vQL': { credits: 15 }, // 6,99 € — 15 Analysen }; /** HMAC-SHA256 als Hex. */ diff --git a/webseite/demo.html b/webseite/demo.html index eb21e5b..4705689 100644 --- a/webseite/demo.html +++ b/webseite/demo.html @@ -260,6 +260,12 @@

Antrag auf Klartext · 2 Gratis-Analysen

+ +