Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

cloudmaker97/HBCI-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

11 Commits

Repository files navigation

HBCI FinTS REST Client

Ein Slim Laravel REST-Client für HBCI FinTS Bankverbindungen mit authentifiziertem API-Zugang.

Features

  • ✅ HBCI FinTS Integration mit nemiah/php-fints
  • ✅ Authentifizierter REST-Endpunkt für Kontostand-Abfrage
  • ✅ Docker-basierte Entwicklungsumgebung
  • ✅ Keine Datenbank erforderlich
  • ✅ Konfiguration über Umgebungsvariablen

Voraussetzungen

  • Docker und Docker Compose
  • HBCI FinTS Zugangsdaten Ihrer Bank

Installation

  1. Repository klonen und in das Verzeichnis wechseln:

    cd hbci-rest-client
  2. Umgebungsvariablen konfigurieren:

    cp env.example .env

    Bearbeiten Sie die .env Datei mit Ihren FinTS-Zugangsdaten:

    # HBCI FinTS Configuration
    FINTS_BANK_URL=https://fints.ihre-bank.de/fints
    FINTS_BANK_CODE=12345678
    FINTS_USERNAME=ihr-username
    FINTS_PIN=ihr-pin
    # API Authentication
    API_PASSWORD=ihr-sicheres-api-passwort
  3. Docker Container starten:

    docker-compose up --build
  4. Anwendung testen:

    curl -H "Authorization: Bearer ihr-sicheres-api-passwort" http://localhost:8000/api/balance

API Endpunkte

GET /api/balance

Ruft den aktuellen Kontostand über HBCI FinTS ab.

Headers:

  • Authorization: Bearer {API_PASSWORD}

Beispiel-Request:

curl -H "Authorization: Bearer mein-api-passwort" \
 http://localhost:8000/api/balance

Beispiel-Response:

{
 "success": true,
 "balance": 1234.56,
 "currency": "EUR",
 "timestamp": "2024年01月15日T10:30:00+01:00"
}

Fehler-Response:

{
 "error": "Failed to retrieve balance: Connection timeout"
}

Konfiguration

FinTS-Einstellungen

Variable Beschreibung Beispiel
FINTS_BANK_URL FinTS-URL Ihrer Bank https://fints.sparkasse.de/fints
FINTS_BANK_CODE Bankleitzahl 12345678
FINTS_USERNAME Ihr FinTS-Username max.mustermann
FINTS_PIN Ihr FinTS-PIN 123456

API-Sicherheit

Variable Beschreibung
API_PASSWORD Passwort für API-Zugang

Entwicklung

Lokale Entwicklung

# Container im Hintergrund starten
docker-compose up -d
# Logs anzeigen
docker-compose logs -f
# Container stoppen
docker-compose down

Code-Struktur

hbci-rest-client/
├── public/
│ └── index.php # Anwendungseinstiegspunkt
├── src/
│ ├── Controllers/
│ │ └── AccountController.php # FinTS Controller
│ └── Middleware/
│ └── AuthMiddleware.php # API-Authentifizierung
├── docker-compose.yml # Docker-Konfiguration
├── Dockerfile # PHP-Container
├── composer.json # PHP-Abhängigkeiten
└── .env # Umgebungsvariablen

Sicherheitshinweise

  • ⚠️ Nie FinTS-Zugangsdaten in den Code einbetten
  • ⚠️ Nie die .env Datei committen
  • ⚠️ Verwenden Sie ein sicheres API-Passwort
  • ⚠️ Beschränken Sie den API-Zugang auf vertrauenswürdige IPs

Troubleshooting

Häufige Probleme

  1. FinTS-Verbindung schlägt fehl:

    • Überprüfen Sie die Bank-URL und Zugangsdaten
    • Stellen Sie sicher, dass FinTS für Ihr Konto aktiviert ist
  2. API-Authentifizierung schlägt fehl:

    • Überprüfen Sie das API-Passwort in der .env Datei
    • Stellen Sie sicher, dass der Authorization-Header korrekt gesetzt ist
  3. Docker-Container startet nicht:

    • Überprüfen Sie, ob Port 8000 verfügbar ist
    • Führen Sie docker-compose down und dann docker-compose up --build aus

Lizenz

MIT License

About

Simple selfhostable HBCI/FinTS API for using within n8n automations

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /