From f42761b040c77ff904598f2875a3771359062c1c Mon Sep 17 00:00:00 2001 From: JUSN Date: Wed, 23 Sep 2026 16:05:11 +0200 Subject: [PATCH] Bezahlseite: feste Kartenzahlung statt Stripe Link MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Screenshot des Nutzers zeigte: Wer ein Link-Konto hat, landet auf einer Link-Ansicht mit gespeicherter Karte, schwarzem 'Pay'-Knopf und einem kleinen, englischen 'Pay without Link' als einzigem Ausweg. Fuer Menschen, die Deutsch kaum lesen, ist das eine Sackgasse — und das ist genau die Zielgruppe. payment_method_types[0]=card schaltet die automatische Methodenwahl ab und damit auch Link. Jeder sieht jetzt dieselbe Ansicht mit Kartenfeldern. ACHTUNG fuer spaeter: Solange diese Angabe gesetzt ist, erscheinen KEINE weiteren Methoden, auch wenn sie im Dashboard freigeschaltet werden. Wer PayPal oder Klarna anbieten will, muss sie hier ergaenzen. Kauf nach der Aenderung geprueft: liefert weiter gueltige cs_live_-Seiten. Co-Authored-By: Claude Opus 5 --- proxy/src/index.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/proxy/src/index.ts b/proxy/src/index.ts index edf11ae..6a96ea5 100644 --- a/proxy/src/index.ts +++ b/proxy/src/index.ts @@ -509,6 +509,14 @@ async function kaufenHandler(request: Request, env: Env): Promise { const walletId = crypto.randomUUID(); const params = new URLSearchParams(); params.set('mode', 'payment'); + // Zahlungsart fest auf Karte setzen. Ohne diese Angabe waehlt Stripe die + // Methoden selbst ("dynamic payment methods") und stellt Link ganz nach + // vorn — mit gespeicherter Karte und einem kleinen, englischen + // "Pay without Link" als einzigem Ausweg. Fuer Menschen, die Deutsch kaum + // lesen, ist das eine Sackgasse. Sobald weitere Methoden (PayPal, Klarna) + // im Stripe-Konto freigeschaltet sind, hier ergaenzen — sonst erscheinen + // sie nicht, weil diese Angabe die automatische Auswahl abschaltet. + params.set('payment_method_types[0]', 'card'); params.set('line_items[0][price]', priceId); params.set('line_items[0][quantity]', '1'); params.set('success_url', `${origin}/demo?kauf=ok&session_id={CHECKOUT_SESSION_ID}`);