So verarbeitet meine App automatisch SEPA Überweisungen

Meine App wird hauptsächlich von deutschsprachigen Nutzerinnen verwendet. Diese bezahlen im Voraus. Ich biete Zahlungen per PayPal, Stripe und SEPA-Überweisung an. SEPA-Überweisungen automatisch zu verarbeiten ist eigentlich recht simpel. So mache ich das:

AqBanking ist ein robustes Tool, um Umsätze via HBCI/FinTS von einem deutschen Bankkonto abzufragen und kann ganz einfach unter Linux installiert werden:

apt install aqbanking-tools

Die Einrichtung ist zugegebenermaßen nicht super einfach, aber kriegt man mit dem Handbuch von AqBanking auch irgendwie hin:

aqhbci-tool4 adduser -t pintan --context=1 -b $BLZ -u $BENUTZERKENNUNG -c $KUNDENNUMMER -s $FINTS_SERVER_DER_BANK -N "$NAME" --hbciversion=300
aqhbci-tool4 listusers
aqhbci-tool4 getsysid -u 1
aqhbci-tool4 listitanmodes -u 1
aqhbci-tool4 setitanmode -u 1 -m $ID_DES_TANMODES_VOM_VORHERIGEN_SCHRITT

Dann sollte die PIN in einer Datei abgelegt werden, damit man die Umsätze per Cronjob abrufen kann:

aqhbci-tool4 mkpinlist > ~/.aqbanking/settings/plist

Diese Datei anschließend bearbeiten und die PIN eintragen:

nano ~/.aqbanking/settings/plist

Nun können die Umsätze abgerufen und in einer Kontext-Datei abgespeichert werden:

aqbanking-cli -P ~/.aqbanking/settings/plist request -A $IBAN -c 2025-11-24.ctx --transactions --fromdate=20251124

Und so können die Transaktionen aus der Kontext-Datei in ein simples tab-separiertes Format umgewandelt werden:

aqbanking-cli listtrans -c 2025-11-24.ctx

Das sieht dann z. B. so aus:

24.11.2025	14.99	<BLZ>	<Kto>	<Name>  <IBAN>	<Verwendungszweck>
24.11.2025	39.99	<BLZ>	<Kto>	<Name>  <IBAN>	<Verwendungszweck>

Diese Daten schickt man nun per cURL an den Server, der fürs Account-Management zuständig ist und fertig ist die Kiste. Das Ganze noch etwas in ein nettes Wrapper-Skript verpackt, das die Überweisungen der letzten 1-2 Tage abruft und prüft, ob diese schon an den Server übermittelt wurden.

Weitere Tipps:

Bei mir läuft dieses simple System mit relativ geringfügigen Anpassungen seit rund 15 Jahren im Produktiveinsatz.