Files
beh-rde-brief/webseite/fr.html
T
JUSNandClaude Opus 5 7780d381b3 Web-Demo mehrsprachig + Sprachseiten bekommen Demo und Kauf
Beim Nachgehen der Frage 'warum gibt es auf den Sprachseiten kein Payment'
kam heraus: Die Web-Demo antwortete AUSSCHLIESSLICH auf Deutsch. Die
Uebersetzung war bisher reine App-Funktion — und die App gibt es noch nicht.
Kauf-Knoepfe auf der tuerkischen Seite haetten also 2,99 EUR fuer eine
deutsche Antwort kassiert. Deshalb zuerst der Worker:

- /demo nimmt jetzt 'zielsprache' entgegen (28 erlaubte Codes, Whitelist —
  der Wert geht nie als freier Text in den Prompt, sonst koennte man eigene
  Anweisungen einschleusen).
- Der deutsche Fachbegriff bleibt deutsch, nur dessen Erklaerung wird
  uebersetzt — der Nutzer muss ihn im Brief wiederfinden.
- demo.html hat eine Sprachauswahl und merkt sich die Wahl; die Sprachseiten
  verlinken mit ?sprache=xx.

Erst danach die Sprachseiten: Demo-Knopf als Haupt-Handlung (es gab bisher
GAR KEINEN — man konnte das Produkt in 27 Sprachen nicht einmal ausprobieren)
und ein Kauf-Abschnitt mit uebersetzter Pflicht-Einwilligung nach §356 BGB.

Geprueft: 27 Dateien ohne Syntaxfehler, keine offenen Platzhalter, Kauf
liefert cs_live_. Zwei Tippfehler im bulgarischen Text korrigiert.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-19 16:27:59 +02:00

421 lines
23 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BehördenKlar – comprendre les courriers administratifs allemands</title>
<meta name="description" content="BehördenKlar explique les courriers administratifs allemands avec des mots simples — en français. Prenez une photo, comprenez, répondez correctement.">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta name="theme-color" content="#1d4e89">
<link rel="alternate" hreflang="de" href="https://behoerdenklar.de/">
<link rel="alternate" hreflang="tr" href="https://behoerdenklar.de/tr">
<link rel="alternate" hreflang="ar" href="https://behoerdenklar.de/ar">
<link rel="alternate" hreflang="ru" href="https://behoerdenklar.de/ru">
<link rel="alternate" hreflang="uk" href="https://behoerdenklar.de/uk">
<link rel="alternate" hreflang="pl" href="https://behoerdenklar.de/pl">
<link rel="alternate" hreflang="ro" href="https://behoerdenklar.de/ro">
<link rel="alternate" hreflang="en" href="https://behoerdenklar.de/en">
<link rel="alternate" hreflang="fa" href="https://behoerdenklar.de/fa">
<link rel="alternate" hreflang="ku" href="https://behoerdenklar.de/ku">
<link rel="alternate" hreflang="bg" href="https://behoerdenklar.de/bg">
<link rel="alternate" hreflang="hr" href="https://behoerdenklar.de/hr">
<link rel="alternate" hreflang="sr" href="https://behoerdenklar.de/sr">
<link rel="alternate" hreflang="bs" href="https://behoerdenklar.de/bs">
<link rel="alternate" hreflang="sq" href="https://behoerdenklar.de/sq">
<link rel="alternate" hreflang="it" href="https://behoerdenklar.de/it">
<link rel="alternate" hreflang="el" href="https://behoerdenklar.de/el">
<link rel="alternate" hreflang="es" href="https://behoerdenklar.de/es">
<link rel="alternate" hreflang="pt" href="https://behoerdenklar.de/pt">
<link rel="alternate" hreflang="fr" href="https://behoerdenklar.de/fr">
<link rel="alternate" hreflang="hu" href="https://behoerdenklar.de/hu">
<link rel="alternate" hreflang="vi" href="https://behoerdenklar.de/vi">
<link rel="alternate" hreflang="hi" href="https://behoerdenklar.de/hi">
<link rel="alternate" hreflang="ur" href="https://behoerdenklar.de/ur">
<link rel="alternate" hreflang="ps" href="https://behoerdenklar.de/ps">
<link rel="alternate" hreflang="ti" href="https://behoerdenklar.de/ti">
<link rel="alternate" hreflang="so" href="https://behoerdenklar.de/so">
<link rel="alternate" hreflang="zh" href="https://behoerdenklar.de/zh">
<link rel="alternate" hreflang="x-default" href="https://behoerdenklar.de/">
<link rel="canonical" href="https://behoerdenklar.de/fr">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<meta property="og:site_name" content="BehördenKlar">
<meta property="og:type" content="website">
<meta property="og:locale" content="fr_FR">
<meta property="og:url" content="https://behoerdenklar.de/fr">
<meta property="og:title" content="Vous avez reçu un courrier administratif allemand ?">
<meta property="og:description" content="Prenez une photo — BehördenKlar explique le courrier en langage simple, en français. Liste d’attente : 5 analyses gratuites.">
<meta property="og:image" content="https://behoerdenklar.de/vorschau.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<style>
:root {
--papier: #faf7f0; --papier-dunkel: #f1ecdf; --tinte: #21211d;
--grau: #6b675e; --amtsblau: #1d4e89; --stempelrot: #b3372b;
--marker: #ffe66b; --gruen: #2e7d4f; color-scheme: light;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
font-family: Georgia, 'Times New Roman', serif;
background: repeating-linear-gradient(0deg, transparent 0 34px, rgba(33,33,29,0.025) 34px 35px), var(--papier);
color: var(--tinte); line-height: 1.7; font-size: 17px;
}
.mono { font-family: 'Courier New', ui-monospace, monospace; letter-spacing: 0.02em; }
.wrap { max-width: 720px; margin: 0 auto; padding: 0 20px 72px; }
.briefkopf {
display: flex; justify-content: space-between; align-items: baseline;
padding: 20px 0 12px; border-bottom: 2px solid var(--tinte); font-size: 14px;
}
.briefkopf .absender { font-weight: 700; font-size: 16px; }
.briefkopf .az { color: var(--grau); font-size: 13px; }
.sprachen { padding: 12px 0 0; font-size: 15px; color: var(--grau); display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; }
.sprachwahl {
font-family: inherit; font-size: 15px; color: var(--tinte);
background: #fff; border: 1.5px solid var(--tinte); padding: 6px 10px;
max-width: 220px; cursor: pointer;
}
header { padding: 40px 0 8px; }
h1 { font-size: clamp(30px, 6vw, 46px); line-height: 1.15; font-weight: 700; }
.markiert {
background: linear-gradient(104deg, transparent 2%, var(--marker) 4%, var(--marker) 96%, transparent 98%);
padding: 0 6px; box-decoration-break: clone; -webkit-box-decoration-break: clone;
}
.intro { margin-top: 22px; font-size: 18px; max-width: 580px; }
.hero-fuss { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 28px; }
.cta {
display: inline-block; padding: 16px 28px; background: var(--amtsblau); color: #fff;
text-decoration: none; font-family: inherit; font-size: 17px; font-weight: 700;
border: 2px solid var(--tinte); box-shadow: 5px 5px 0 var(--tinte);
transition: transform .12s ease, box-shadow .12s ease;
}
.cta:hover { transform: translate(2px,2px); box-shadow: 3px 3px 0 var(--tinte); }
.cta-sek { background: #fff; color: var(--amtsblau); }
.stempel {
display: inline-block; padding: 7px 14px; border: 2.5px solid var(--stempelrot);
color: var(--stempelrot); font-family: 'Courier New', ui-monospace, monospace;
font-weight: 700; font-size: 14px; letter-spacing: .1em; text-transform: uppercase;
transform: rotate(-4deg); opacity: .9;
}
section { margin-top: 56px; }
h2 {
font-size: 15px; text-transform: uppercase; letter-spacing: .14em; color: var(--grau);
font-weight: 400; margin-bottom: 18px; display: flex; align-items: center; gap: 12px;
}
h2::after { content: ''; flex: 1; border-top: 1px solid rgba(33,33,29,.25); }
.verwandlung { display: grid; gap: 14px; }
.brief-karte {
background: #fff; border: 1px solid rgba(33,33,29,.28); padding: 22px 24px;
position: relative; box-shadow: 4px 5px 0 rgba(33,33,29,.08);
}
.brief-karte.amtsdeutsch { transform: rotate(-.7deg); background: var(--papier-dunkel); }
.brief-karte.klartext { transform: rotate(.5deg); }
.karten-label {
position: absolute; top: -12px; inset-inline-start: 16px;
font-family: 'Courier New', ui-monospace, monospace; font-size: 12px;
text-transform: uppercase; letter-spacing: .1em;
background: var(--tinte); color: var(--papier); padding: 3px 10px;
}
.brief-karte.klartext .karten-label { background: var(--gruen); }
.amtsdeutsch p { font-family: 'Courier New', ui-monospace, monospace; font-size: 15px; direction: ltr; text-align: start; }
.pfeil { text-align: center; color: var(--grau); font-size: 15px; margin: 4px 0; }
.hinweis { margin-top: 18px; font-size: 15.5px; color: var(--grau); }
.schritte { display: grid; gap: 14px; }
.schritt { background: #fff; border: 1px solid rgba(33,33,29,.28); padding: 16px 20px; }
.schritt strong { font-weight: 700; }
.schritt span { color: var(--grau); }
.antrag {
background: #fff; border: 2px solid var(--tinte); box-shadow: 7px 8px 0 rgba(33,33,29,.9);
padding: 30px 28px; position: relative; margin-top: 8px;
}
.antrag .formular-kopf {
font-family: 'Courier New', ui-monospace, monospace; font-size: 13px;
text-transform: uppercase; letter-spacing: .1em; color: var(--grau); margin-bottom: 6px;
}
.antrag h3 { font-size: 26px; line-height: 1.25; }
.antrag p { margin-top: 12px; max-width: 540px; }
.bonus {
margin: 18px 0; padding: 14px 16px; font-size: 17px;
background: linear-gradient(104deg, transparent 1%, var(--marker) 3%, var(--marker) 97%, transparent 99%);
}
.antrag .klein { font-size: 13.5px; color: var(--grau); margin-top: 14px; }
.antrag .klein a { color: var(--grau); }
a { color: var(--amtsblau); }
footer { margin-top: 56px; padding-top: 14px; border-top: 2px solid var(--tinte); font-size: 14.5px; color: var(--grau); }
.wl-form { display: flex; flex-direction: column; gap: 12px; margin-top: 4px; }
.wl-input {
width: 100%; padding: 15px 16px; font-size: 17px; font-family: inherit;
border: 2px solid var(--tinte); background: #fff; color: var(--tinte);
}
.wl-input::placeholder { color: #9a958a; }
.wl-btn { width: 100%; cursor: pointer; text-align: center; font-family: inherit; }
details { border-bottom: 1px solid rgba(33,33,29,.28); padding: 14px 4px; }
summary { font-weight: 700; cursor: pointer; font-size: 17px; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
summary::-webkit-details-marker { display: none; }
summary::after { content: '+'; font-family: 'Courier New', ui-monospace, monospace; font-size: 22px; color: var(--amtsblau); }
details[open] summary::after { content: '–'; }
details p { margin-top: 10px; color: var(--grau); font-size: 16px; }
</style>
<script type="application/ld+json">
[
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "BehördenKlar",
"description": "BehördenKlar explique les courriers administratifs allemands avec des mots simples — en français. Prenez une photo, comprenez, répondez correctement.",
"applicationCategory": "AccessibilityApplication",
"operatingSystem": "iOS, Web",
"inLanguage": [
"de",
"tr",
"ar",
"ru",
"uk",
"pl",
"ro",
"en",
"fa",
"ku",
"bg",
"hr",
"sr",
"bs",
"sq",
"it",
"el",
"es",
"pt",
"fr",
"hu",
"vi",
"hi",
"ur",
"ps",
"ti",
"so",
"zh"
],
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "EUR"
},
"author": {
"@type": "Organization",
"name": "Webklar GbR",
"url": "https://behoerdenklar.de"
}
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Combien ça coûte ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Les 3 premiers courriers sont gratuits (5 avec le code de la liste d’attente). Ensuite vous achetez du crédit : 5 analyses pour 2,99 € ou 15 pour 6,99 €. Sans abonnement et sans compte."
}
},
{
"@type": "Question",
"name": "Quels courriers peut-elle expliquer ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Les courriers du Jobcenter, du service des étrangers, de l’assurance retraite, de la caisse maladie, de la caisse familiale (Kindergeld), du fisc ou du service des amendes — bref, presque tout courrier officiel."
}
},
{
"@type": "Question",
"name": "Que deviennent mes données ?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Vos courriers restent chiffrés sur votre appareil. Pour l’analyse, la photo est envoyée une seule fois de façon sécurisée à l’IA et y est supprimée au plus tard au bout de 30 jours. Aucun compte nécessaire."
}
}
]
}
]
</script>
</head>
<body>
<div class="wrap">
<div class="briefkopf">
<span class="absender">📬 BehördenKlar <span style="font-weight:400;font-size:.62em;opacity:.6;letter-spacing:.04em;">by Webklar</span></span>
<span class="az mono">Az: KLAR-01/2026</span>
</div>
<nav class="sprachen" aria-label="Choisir la langue">
🌐
<select class="sprachwahl" onchange="if(this.value)location.href=this.value">
<option value="index.html" lang="de">Deutsch</option>
<option value="tr.html" lang="tr">Türkçe</option>
<option value="ar.html" lang="ar">العربية</option>
<option value="ru.html" lang="ru">Русский</option>
<option value="uk.html" lang="uk">Українська</option>
<option value="pl.html" lang="pl">Polski</option>
<option value="ro.html" lang="ro">Română</option>
<option value="en.html" lang="en">English</option>
<option value="fa.html" lang="fa">فارسی</option>
<option value="ku.html" lang="ku">Kurdî</option>
<option value="bg.html" lang="bg">Български</option>
<option value="hr.html" lang="hr">Hrvatski</option>
<option value="sr.html" lang="sr">Српски</option>
<option value="bs.html" lang="bs">Bosanski</option>
<option value="sq.html" lang="sq">Shqip</option>
<option value="it.html" lang="it">Italiano</option>
<option value="el.html" lang="el">Ελληνικά</option>
<option value="es.html" lang="es">Español</option>
<option value="pt.html" lang="pt">Português</option>
<option value="fr.html" lang="fr" selected>Français</option>
<option value="hu.html" lang="hu">Magyar</option>
<option value="vi.html" lang="vi">Tiếng Việt</option>
<option value="hi.html" lang="hi">हिन्दी</option>
<option value="ur.html" lang="ur">اردو</option>
<option value="ps.html" lang="ps">پښتو</option>
<option value="ti.html" lang="ti">ትግርኛ</option>
<option value="so.html" lang="so">Soomaali</option>
<option value="zh.html" lang="zh">中文</option>
</select>
</nav>
<header>
<h1>Un courrier de l’administration allemande ?<br><span class="markiert">Enfin compréhensible.</span></h1>
<p class="intro">Photographiez le courrier. BehördenKlar l’explique avec des mots simples — <strong>et en français</strong>. Avec tous les délais et une liste de choses à faire.</p>
<div class="hero-fuss">
<a class="cta" href="/demo?sprache=fr">📷 Essayez gratuitement&nbsp;→</a>
<a class="cta cta-sek" href="#kaufen">Acheter du crédit</a>
</div>
<p style="margin-top: 16px; font-size: 15.5px; color: var(--grau);">
2 analyses gratuites — sans compte. &nbsp;·&nbsp; <a href="#anmelden">Rejoindre la liste d’attente</a>
</p>
</header>
<section>
<h2>§ 1 &nbsp;Avant et après</h2>
<div class="verwandlung">
<div class="brief-karte amtsdeutsch">
<span class="karten-label">Avant · Courrier original (en allemand)</span>
<p>
„Gemäß § 32 SGB II wird bei Nichterscheinen ohne wichtigen Grund
eine Minderung des maßgebenden Regelbedarfs in Höhe von 10 vom
Hundert festgestellt."
</p>
</div>
<p class="pfeil">— 📷 une photo plus tard —</p>
<div class="brief-karte klartext">
<span class="karten-label">Après · BehördenKlar en français</span>
<p>Si vous manquez le rendez-vous sans motif valable, vous recevrez 10 % d’argent en moins pendant un mois. Allez-y — ou annulez à temps.</p>
</div>
</div>
<p class="hinweis">L’application explique les courriers en allemand simple et les traduit dans plus de 25 langues.</p>
</section>
<section>
<h2>§ 2 &nbsp;Comment ça marche</h2>
<div class="schritte">
<div class="schritt"><div><strong>Prenez une photo</strong> <span>Photographiez le courrier — ou téléversez un PDF.</span></div></div>
<div class="schritt"><div><strong>Comprenez</strong> <span>Des mots simples, dans votre langue. Un feu tricolore indique l’urgence.</span></div></div>
<div class="schritt"><div><strong>Répondez correctement</strong> <span>Liste de tâches, rappel du délai et un brouillon de réponse tout prêt.</span></div></div>
</div>
</section>
<section id="kaufen">
<h2>§ 3 &nbsp;Achetez du crédit et commencez tout de suite</h2>
<div class="antrag" style="border-color: var(--amtsblau);">
<h3>Faites expliquer d’autres courriers</h3>
<p>Pas besoin d’attendre : achetez du crédit et utilisez BehördenKlar directement dans le navigateur — sur tout appareil, sans application. Le crédit n’expire pas.</p>
<div id="paketListe" style="display: flex; flex-direction: column; gap: 12px; margin-top: 18px;"></div>
<p style="margin-top: 16px; background: #eef4fb; border-inline-start: 4px solid var(--amtsblau); padding: 12px 14px; font-size: 15px;">
📧 Indiquez votre adresse e-mail au moment du paiement. Vous recevrez un lien d’accès personnel — grâce à lui votre crédit fonctionne sur tout appareil.
</p>
<label style="display: flex; gap: 10px; align-items: flex-start; margin-top: 16px; font-size: 14px; line-height: 1.5; cursor: pointer;">
<input type="checkbox" id="kaufKonsens" style="margin-top: 3px; flex-shrink: 0;">
<span>Je demande expressément que la prestation commence immédiatement après l’achat et je sais que mon droit de rétractation s’éteint de ce fait. <a href="/agb.html" target="_blank">AGB</a> · <a href="/widerruf.html" target="_blank">Widerruf</a> (en allemand)</span>
</label>
<p id="kaufFehler" style="display: none; margin-top: 12px; color: #b3261e; font-size: 14px; font-weight: 600;"></p>
<p class="klein">🔒 Paiement sécurisé via Stripe. Sans TVA (§19 UStG). Prestataire : Webklar GbR — votre relevé indiquera « Webklar ».</p>
</div>
</section>
<section id="anmelden">
<h2>§ 4 &nbsp;Accès anticipé</h2>
<div class="antrag">
<p class="formular-kopf">Formulaire F-01 · Liste d’attente</p>
<h3>Soyez parmi les premiers</h3>
<p>L’application arrive bientôt sur iPhone. Inscrivez-vous — nous vous enverrons <strong>un seul</strong> e-mail au lancement. Sans publicité.</p>
<p class="bonus">🎁 <strong>Votre cadeau :</strong> analysez <strong>5 courriers gratuits</strong> au lieu de 3. Vous recevez le code par e-mail.</p>
<form class="wl-form" action="https://86550585.sibforms.com/serve/MUIFAAvOQCpFg148k-xD2Ze2PDVKKaFEIaLECCCMe9fGKd_uIurPljyn_IhTrkR0EkM_pQp_8VBzcHZ6N9sKDX5GBZi9elYKN6isXGPUUxcAgO37OKhTFZyMlJiC9ikRmPI8Q2tU2GvqP6esJ5ReGfv1htZV_OfXRIgW59P6pkeUsYKxqdXA7nWOaWxNTYz4MzzoGg7czJMJ2fxuEg==" method="POST">
<input class="wl-input" type="email" name="EMAIL" placeholder="Votre adresse e-mail" required autocomplete="email">
<input type="text" name="email_address_check" value="" style="position:absolute; left:-5000px;" tabindex="-1" autocomplete="off" aria-hidden="true">
<input type="hidden" name="locale" value="de">
<input type="hidden" name="html_type" value="simple">
<button class="cta wl-btn" type="submit">Rejoindre la liste →</button>
</form>
<p class="klein">Nous conservons votre adresse uniquement pour ce seul message. Vous pouvez vous désinscrire à tout moment. <a href="datenschutz.html">Politique de confidentialité (en allemand)</a>.</p>
</div>
</section>
<section>
<h2>§ 5 &nbsp;Questions fréquentes</h2>
<details>
<summary>Combien ça coûte ?</summary>
<p>Les 3 premiers courriers sont gratuits (5 avec le code de la liste d’attente). Ensuite vous achetez du crédit : 5 analyses pour 2,99 € ou 15 pour 6,99 €. Sans abonnement et sans compte.</p>
</details>
<details>
<summary>Quels courriers peut-elle expliquer ?</summary>
<p>Les courriers du Jobcenter, du service des étrangers, de l’assurance retraite, de la caisse maladie, de la caisse familiale (Kindergeld), du fisc ou du service des amendes — bref, presque tout courrier officiel.</p>
</details>
<details>
<summary>Que deviennent mes données ?</summary>
<p>Vos courriers restent chiffrés sur votre appareil. Pour l’analyse, la photo est envoyée une seule fois de façon sécurisée à l’IA et y est supprimée au plus tard au bout de 30 jours. Aucun compte nécessaire.</p>
</details>
</section>
<footer>
Des questions ? 📧 <a href="mailto:behoerdenbriefhelfer@gmail.com">behoerdenbriefhelfer@gmail.com</a>
&nbsp;·&nbsp; <a href="impressum.html">Mentions légales (en allemand)</a>
&nbsp;·&nbsp; <a href="datenschutz.html">Politique de confidentialité (en allemand)</a>
</footer>
</div>
<script>
(function () {
'use strict';
var BASIS = 'https://behoerdenklar-proxy.behoerdenbrief.workers.dev';
var PAKETE = [
{ priceId: 'price_1U6BNnBsRA1AOdnedGW5eefh', titel: '5', preis: '2,99 €' },
{ priceId: 'price_1U6BPRBsRA1AOdnemDUalzb8', titel: '15', preis: '6,99 €', best: true }
];
var liste = document.getElementById('paketListe');
var konsens = document.getElementById('kaufKonsens');
var fehler = document.getElementById('kaufFehler');
if (!liste) return;
konsens.addEventListener('change', function () { if (konsens.checked) fehler.style.display = 'none'; });
PAKETE.forEach(function (p) {
var b = document.createElement('button');
b.className = 'cta'; b.type = 'button';
b.style.width = '100%'; b.style.display = 'flex';
b.style.justifyContent = 'space-between'; b.style.alignItems = 'center';
var l = document.createElement('span');
l.textContent = (p.best ? '⭐ ' : '') + p.titel + ' \u00D7 analyses';
var r = document.createElement('strong'); r.textContent = p.preis;
b.appendChild(l); b.appendChild(r);
b.addEventListener('click', function () { starte(p.priceId, b); });
liste.appendChild(b);
});
function starte(priceId, knopf) {
if (!konsens.checked) { fehler.style.display = 'block'; fehler.textContent = 'Veuillez d’abord cocher la case.'; konsens.focus(); return; }
fehler.style.display = 'none';
var alt = knopf.innerHTML; knopf.disabled = true;
fetch(BASIS + '/kaufen', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ priceId: priceId }) })
.then(function (r) { return r.json(); })
.then(function (d) { if (d && d.url) { window.location.href = d.url; return; } throw new Error('x'); })
.catch(function () { knopf.disabled = false; knopf.innerHTML = alt; fehler.style.display = 'block'; fehler.textContent = 'La page de paiement n’a pas pu être ouverte. Réessayez.'; });
}
})();
</script>
<!-- Cloudflare Web Analytics: cookielose Reichweitenmessung, keine Nutzer-Profile -->
<script type='module' src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "11f017e9a707466b9151921db6125dde"}'></script>
</body>
</html>