coderoftime

Nº 3 Bibliotheken für Dart & TypeScript

FinTS

Direkt mit deutschen Banken sprechen.

Dart
fints auf pub.dev; BSD-3-Clause
TypeScript
@coderoftime/fints auf npm; Keine Laufzeitabhängigkeiten
Deine Daten
Nur zwischen deiner App und deiner Bank

Das Paket fints ist ein FinTS-Client in reinem Dart für deutsche Banken, nutzbar in jeder Flutter-App auf iOS, Android und dem Desktop. Es übernimmt, was FinTS in der Praxis schwierig macht: starke Kundenauthentifizierung nach PSD2, entkoppelte Freigabe per App, TAN-Medien und chipTAN-Flickercodes sowie die Bankparameterdaten der jeweiligen Bank, an die es sich strikt hält. Lassen diese Parameter eine Anfrage nicht zu, scheitert sie, bevor die Bank überhaupt kontaktiert wird.

Der TypeScript-Port, auf npm als @coderoftime/fints erhältlich, kommt ohne Laufzeitabhängigkeiten aus und verhält sich genauso: dieselbe Sitzungslogik, dieselben Schutzmechanismen, dieselben Tests. Er läuft unter Node.js, Deno und Bun oder im Browser hinter deinem eigenen Server.

Banken sprechen nur mit registrierter Software. Bevor sich deine App verbinden kann, registrierst du sie kostenlos bei der Deutschen Kreditwirtschaft und übergibst die ID, die du dort bekommst, als productId.

 Funktionen

Was es kann

  1. FinTS 3.0 und 4.1

    Das Dart-Paket spricht beide Versionen; 4.1 ist experimentell. Der TypeScript-Port deckt 3.0 ab.

  2. Starke Kundenauthentifizierung

    Ein- und Zwei-Schritt-TAN-Verfahren und Freigabe per App (pushTAN, SecureGo plus), abgefragt im Takt, den die Bank vorgibt.

  3. chipTAN und photoTAN

    Flickercodes nach HHD 1.3 und 1.4 als Einzelbilder gerendert, dazu Foto- und QR-Challenges.

  4. Salden und Umsätze

    camt.052 oder MT940/942 mit automatischem Nachladen über Aufsetzpunkte, dazu Parser für MT940 und camt.

  5. Schutz vor Sperrung

    Schickt eine PIN, die die Bank abgelehnt hat, nie ein zweites Mal und maskiert PIN und TAN in jedem Log.

  6. Übertragbarer Sitzungszustand

    Bankparameterdaten, TAN-Einrichtung und Kontenliste in einem gespeicherten Zustands-String, nie die PIN oder eine TAN, im selben Format für Dart und TypeScript.

Direkt

Nichts steht zwischen deiner App und deiner Bank.

Die Bibliotheken sammeln nichts und sprechen nur mit der Bank, die du konfigurierst.

Telemetrie
Keine
Aggregator
Keiner
Lizenz
BSD-3-Clause

 Verfügbarkeit

Auf pub.dev und npm

Das Dart-Paket gibt es auf pub.dev, den TypeScript-Port auf npm – beide unter der BSD-3-Clause-Lizenz.

 Hilfe

Hilfe & Kontakt

Fragen sind per E‑Mail willkommen; Fehler kannst du auch in den Issues der beiden Repositorys auf GitLab melden.

coderoftime@gmail.com