Ondersteuning voor RFC8905 en datum niet vereisen
This commit is contained in:
parent
d76392f99b
commit
ff632a59c4
12
index.html
12
index.html
|
@ -1,6 +1,7 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="nl">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Betaalverzoekjes via elke chatdienst (en zelfs briefpost!) |
|
||||
Netsoj.nl</title>
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
|
@ -64,22 +65,25 @@
|
|||
<p class="geen-marge">Aan <span id="betaal-ontvanger" data-veld="aan">
|
||||
</span></p>
|
||||
</header>
|
||||
<p><span id="betaal-bedrag" data-veld="bedrag"></span></p>
|
||||
<p><span id="betaal-valuta" data-veld="valuta-symbool"></span><span id="betaal-bedrag" data-veld="bedrag"></span></p>
|
||||
<h3>Betaalmogelijkheden</h3>
|
||||
<ol>
|
||||
<li>
|
||||
<h3>Contant</h3>
|
||||
<p>Je geeft het bedrag in contant geld aan
|
||||
<span data-veld="aan"></span>. Spreekt voor zichzelf,
|
||||
<p>Je geeft het bedrag <a id="betaallink-contant">in contant geld aan
|
||||
<span data-veld="aan"></span></a>. Spreekt voor zichzelf,
|
||||
toch?</p>
|
||||
</li>
|
||||
<li>
|
||||
<h3>Overmaken</h3>
|
||||
<p>Je maakt het bedrag over naar mijn bankrekening,
|
||||
met het IBAN <span id="betaal-iban" data-veld="iban"></span> en met als omschrijving <span class="veld" data-veld="betreft"></span>.
|
||||
met het IBAN <a id="betaallink-iban"><span id="betaal-iban" data-veld="iban"></span></a> en met als omschrijving <span class="veld" data-veld="betreft"></span>.
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Noot: het kan zijn dat de linkjes niet werken. Dit webstekkie maakt gebruik van
|
||||
baanbrekende technologieën die mogelijk nog niet door de logge banken in gebruik
|
||||
is genomen. </p>
|
||||
<details>
|
||||
<summary>Veiligheidsinformatie</summary>
|
||||
<dl>
|
||||
|
|
|
@ -35,6 +35,7 @@ let TEKST_FOUT_MISSENDE_PARAMETERS = 1;
|
|||
let TEKST_FOUT_ONJUISTE_HANDTEKENING = 2;
|
||||
let TEKST_FOUT_CORRUPTE_HANDTEKENING = 3;
|
||||
let TEKST_FOUT_VERLOPEN = 4;
|
||||
let TEKST_FOUT_VEROUDERD = 5;
|
||||
|
||||
let teksten = [];
|
||||
teksten[TEKST_FOUT_ENGELS] = "Helaas hebben we alleen een Engelse foutmelding voor deze fout. Als u dit aankunt, lees dan de onderstaande tekst:";
|
||||
|
@ -42,6 +43,7 @@ teksten[TEKST_FOUT_MISSENDE_PARAMETERS] = "Ongeldige URL: missende parameters.";
|
|||
teksten[TEKST_FOUT_ONJUISTE_HANDTEKENING] = "Ongeldige URL: ongeldige handtekening.";
|
||||
teksten[TEKST_FOUT_CORRUPTE_HANDTEKENING] = "Ongeldige URL: handtekening corrupt.";
|
||||
teksten[TEKST_FOUT_VERLOPEN] = "Betaalverzoek is verlopen.";
|
||||
teksten[TEKST_FOUT_VEROUDERD] = "Dit is een verlopen, verouderd betaalverzoek. Vraag de maker om een nieuw betaalverzoek op te sturen.";
|
||||
|
||||
let vertaaldeFouten = {};
|
||||
vertaaldeFouten["Error during parsing. This message / key probably does not conform to a valid OpenPGP format."] = TEKST_FOUT_CORRUPTE_HANDTEKENING;
|
||||
|
@ -72,6 +74,17 @@ function goeieOuweOntkink(object) {
|
|||
//alert(JSON.stringify(object));
|
||||
}
|
||||
|
||||
function valutaNaarSymbool(valuta) {
|
||||
switch (valuta.toUpperCase()) {
|
||||
case "EUR":
|
||||
return "€";
|
||||
case "USD":
|
||||
return "$";
|
||||
default:
|
||||
return valuta.toUpperCase();
|
||||
}
|
||||
}
|
||||
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
try {
|
||||
//goeieOuweOntkink("Verkrijgen parameters")
|
||||
|
@ -81,13 +94,19 @@ document.addEventListener("DOMContentLoaded", function() {
|
|||
let betreft = aanvraagParameters.get("betreft");
|
||||
let bedrag = aanvraagParameters.get("bedrag");
|
||||
let iban = aanvraagParameters.get("iban");
|
||||
let datum = aanvraagParameters.get("datum");
|
||||
let handtekening = aanvraagParameters.get("handtekening");
|
||||
let valuta = aanvraagParameters.get("valuta");
|
||||
|
||||
// Eerdere betaalverzoeken hadden geen valuta parameter, maar wel een datum.
|
||||
if (valuta === null && aanvraagParameters.get("datum") != null) {
|
||||
toonFout(TEKST_FOUT_VEROUDERD);
|
||||
return;
|
||||
}
|
||||
goeieOuweOntkink(aanvraagParameters);
|
||||
|
||||
//Controleer of ze allemaal zijn ingevuld.
|
||||
if (aan === null || betreft === null || bedrag === null || iban === null
|
||||
|| datum === null || handtekening === null) {
|
||||
|| handtekening === null || valuta == null) {
|
||||
toonFout(TEKST_FOUT_MISSENDE_PARAMETERS);
|
||||
return;
|
||||
}
|
||||
|
@ -98,7 +117,7 @@ document.addEventListener("DOMContentLoaded", function() {
|
|||
nakijkParameters.append("betreft", betreft);
|
||||
nakijkParameters.append("bedrag", bedrag);
|
||||
nakijkParameters.append("iban", iban);
|
||||
nakijkParameters.append("datum", datum);
|
||||
nakijkParameters.append("valuta", valuta);
|
||||
|
||||
handtekening = "-----BEGIN PGP SIGNATURE-----\n\n" + handtekening + "\n-----END PGP SIGNATURE-----";
|
||||
|
||||
|
@ -142,6 +161,17 @@ document.addEventListener("DOMContentLoaded", function() {
|
|||
vulVeldIn("betreft", betreft);
|
||||
vulVeldIn("bedrag", bedrag);
|
||||
vulVeldIn("iban", iban);
|
||||
vulVeldIn("valuta-symbool", valutaNaarSymbool(valuta));
|
||||
let betaalLinkParameters = new URLSearchParams();
|
||||
betaalLinkParameters.append("amount", valuta.toUpperCase() + ":" + bedrag.replaceAll(",", "."));
|
||||
betaalLinkParameters.append("message", betreft);
|
||||
betaalLinkParameters.append("receiver-name", aan);
|
||||
|
||||
document.getElementById("betaallink-iban").href = "payto://iban/" + iban + "/?"
|
||||
+ betaalLinkParameters.toString();
|
||||
|
||||
document.getElementById("betaallink-contant").href = "payto://void/?"
|
||||
+ betaalLinkParameters.toString();
|
||||
|
||||
document.getElementById("betaal-info").style.display = "block";
|
||||
});
|
||||
|
|
|
@ -95,7 +95,7 @@ pre.onjuist {
|
|||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
#betaal-bedrag {
|
||||
#betaal-bedrag, #betaal-valuta {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue