Danil Sidorov
RU EN DE
Telegram

TON-Zahlungen über einen Telegram-Bot

Der Bot stellt eine Rechnung mit Tonkeeper-Link aus und bestätigt die Zahlung selbst, sobald die Überweisung im Netz ankommt

Case-Study-Titelbild „TON-Zahlungen über einen Telegram-Bot“

Aufgabe

TON-Zahlungen sollten direkt in Telegram angenommen werden, ohne Überweisungen von Hand abzugleichen. Die Wallet-Schlüssel dürfen nicht auf dem Server liegen, und jede Zahlung muss eindeutig ihre Rechnung finden.

Lösung

Ein Bot mit python-telegram-bot führt den Dialog und schreibt Rechnungen in PostgreSQL. Ein Hintergrundjob im selben Prozess liest alle 20 Sekunden Überweisungen über toncenter, macht bei der letzten verarbeiteten Transaktion weiter und ordnet eine Überweisung per Kommentar der Rechnung zu. Alle Datenbankabfragen sind parametrisiert.

Umgesetzte Aufgaben

  • Rechnungen über beliebige Beträge mit eindeutigem Kommentar im Bot-Menü gebaut
  • Tonkeeper-Button mit ausgefüllter Adresse, Betrag und Kommentar bereitgestellt
  • Beobachter gebaut, der die Händler-Wallet liest und Überweisungen mit Rechnungen abgleicht
  • Zahlung nur bei passendem Kommentar und ausreichendem Betrag verbucht
  • Unbezahlte Rechnungen nach Ablauf storniert und den Käufer informiert
  • Beträge als ganze Nanotons gespeichert, ohne Gleitkomma
  • Ohne private Schlüssel ausgekommen: der Dienst nutzt nur die öffentliche Adresse

Ergebnis

Der Käufer zahlt mit zwei Fingertipps und bekommt sofort eine Bestätigung im Chat, der Händler gleicht nichts mehr ab. Der Code ist offen auf GitHub, der Bot lässt sich vorher im TON-Testnetz ausprobieren.

Technologien

Pythonpython-telegram-botasyncioPostgreSQLasyncpgtoncenter API

Quellen

Die Links belegen die Zahlen in diesem Projekt

Erzählen Sie von Ihrer Aufgabe

Telegram