anti-gambling-trader-tw
Free open-source investment anti-fraud, trading statistics and automated trading program tools: default PaperBroker, provides 14 broker/exchange options; trade record analysis runs locally.
AI translation
Create and test QR-code payment flows by generating, scanning and verifying codes
AI summary · website content
FinanceJavaScript · CSSGitHub @antirom-designOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Die komplette Strecke „Bezahlen per QR-Code“ zum Durchklicken. Es wird kein echtes Geld bewegt.
PAY-7K3QX9, INFO-…). Die Art legt fest, welche Variablen ein Code hat.PAY-Code trägt 12-stellige Kundennummer, Betrag und Gebühr signiert in sich.
Scan mit dem Handy oder „Simulation starten“ (Handy als Modal) → Decoding mit Fortschritt → Betrag, Gebühr, Endbetrag →
„Sofort bezahlen mit“ PayPal, Wero, Banking-App, Kreditkarte, Apple Pay, Google Pay, Klarna, SEPA → simulierter Checkout beim Anbieter →
Webhook und Verbuchung → Rücksprung → Bestätigung mit Beleg.KONTO (Kontostand nach Anmeldung mit Geburtsdatum, offenen Betrag direkt bezahlen, Sperre nach 3 Fehlversuchen),
ADR (Adressänderung nach Anmeldung mit Geburtsdatum), DOK (Dokument wie eine Befreiungsbescheinigung einreichen nach Online-Ausweis,
Video-Ident oder Bank-Ident, verschlüsselt gespeichert, im Manager abrufbar), INFO (verwalteter Link, z. B. auf /info).
Geheime Variablen (Name, Geburtsdatum, Adresse, Kontostand) stehen nur in der Datenbank, nie im QR-Code.| Fall | Wie auslösen | Ergebnis |
|---|---|---|
| Erfolg | Normal durchklicken | Beleg, Code wird „bezahlt“ (Einmal-Code) |
| Abbruch | „Abbrechen“ beim Anbieter | Code bleibt offen, „Erneut versuchen“ |
| Ablehnung | Testfall „Ablehnen“ oder Karte 4000 0000 0000 0002 | Fehlerseite, erneut zahlbar |
| Timeout | Testfall „Keine Antwort“ | Nach 10 s abgebrochen; liegengebliebene Zahlungen laufen nach 15 Min. ab |
| Manipulierter Code | Betrag im QR-Inhalt ändern | Signaturprüfung schlägt fehl |
| Veralteter Code | Betrag im Manager ändern, alten QR scannen | „Code veraltet“ |
| Deaktiviert / abgelaufen | Im Manager | Scan wird abgelehnt |
| Schon bezahlt | Code nach Zahlung erneut scannen | Zeigt nur den Beleg |
| Doppelzahlung | Zwei Checkouts parallel, beide bestätigen | Zweite wird erkannt und als Erstattung markiert |
https://<host>/s/<base64url(JSON)>.<HMAC-SHA256> mit JSON { v, id, t (Art), n (Version), d: { kundennummer, betrag, gebuehr, zweck } }.
Die Daten sind lesbar, aber durch die Signatur nicht fälschbar. Beträge stehen in Cent. Bezahlt wird immer der Betrag aus der Datenbank.
Unter /release-notes stehen alle Features nach Tag und Stunde, neueste zuerst. Wie sie gepflegt werden, steht in AGENTS.md.
Node 22.13 oder neuer.
npm install
npm start # http://localhost:3000
npm test # End-to-end-Test der ganzen Strecke
Lokal speichert die App in SQLite (data/qr.sqlite). Die QR-Codes zeigen automatisch auf die WLAN-Adresse des Rechners,
damit ein Handy im selben WLAN sie scannen kann.
Jeder Push auf main wird deployt. Auf Vercel braucht die App Postgres (z. B. Neon über den Storage-Tab des Projekts),
die Tabellen legt sie beim ersten Aufruf selbst an.
| Variable | Zweck |
|---|---|
DATABASE_URL | Postgres-Verbindung (setzt Neon automatisch). Ohne: SQLite |
CODE_SECRET | Schlüssel für die Signatur der QR-Codes. Unbedingt setzen |
ADMIN_PASSWORD | Optional: schützt den Manager per Passwort (Bezahlseiten bleiben offen) |
PUBLIC_URL | Optional: feste Adresse für die QR-Codes |
src/db.js Datenbank (Postgres oder SQLite), Tabellen code_types, codes, payments, events
src/codes.js Service 1: Code-Arten, Codes, Signatur, Statuslog
src/payments.js Service 2: Decoding-Schritte, Zahlung starten, Anbieter-Ergebnis verbuchen
src/flows.js Anmeldung (Geburtsdatum, Ident), Kontostand, Adressänderung, Dokument-Upload (AES-256-GCM)
src/app.js HTTP-Routen und API
src/views.js HTML-Seiten
src/releaseNotes.js Inhalt der Seite /release-notes (Pflege siehe AGENTS.md)
public/ manager.js, pay.js + flows.js (Handy), provider.js (Anbieter-Checkouts), style.css
api/index.js Einstieg für Vercel