Skip to content

Java-based FinTS protocol implementation that supports all features (chipTAN, pushTAN, HHD, SEPA, PSD2,...)

License

Notifications You must be signed in to change notification settings

thomass4t/hbci4java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vorab

Dies ist die offizielle Quelle von HBCI4Java, welches u.a. in Hibiscus zum Einsatz kommt.

Versionshinweis

  • Version 3.x von HBCI4Java verwendet Java EE (javax.*).
  • Version 4.x von HBCI4Java verwendet Jakarta EE (jakarta.*).

Kontakt

Unter https://groups.google.com/forum/?hl=de#!forum/hbci4java findet ihr die zugehörige Mailingliste.

Entstehung

Das Projekt entstand 2010 als Fork von http://hbci4java.kapott.org, da dessen Weiterentwicklung eingestellt wurde.

Seither wurden umfangreiche neue Features hinzugefügt wie etwa:

  • Unterstützung für die neuen EU-weiten PSD2-Anforderungen (SCA), die ab Mitte September 2019 für FinTS verpflichtend sind
  • Abruf von Umsätzen im CAMT-Format (HKCAZ)
  • Unterstützung für chipTAN USB
  • Abruf des elektronischen Kontoauszuges (HKEKA und HKEKP)
  • SEPA-Überweisungen und -Lastschriften (jeweils Einzel- und Sammelaufträge) sowie SEPA-Daueraufträge
  • Support für alle aktuellen SEPA-PAIN-Versionen
  • Unterstützung von PC/SC-Kartenlesern via javax.smartcardio API
  • Eine aktuelle Bankenliste (mit BLZ, Server-Adresse, HBCI-Version,...)
  • Unterstützung der neuen TAN-Verfahren (smsTAN, photoTAN, chipTAN - incl. Implementierung des HHD-Standards mit Flicker-Code)
  • Unterstützung von RAH10-Schlüsseldateien

Lizenz

LGPL 2.1 - GNU Lesser General Public License, version 2.1 (http://www.gnu.org/licenses/old-licenses/lgpl-2.1)

Hinweis Bis 02.05.2016 unterlag HBCI4Java der GPLv2 - wurde mit https://github.com/willuhn/hbci4java/issues/36 aber auf LGPL 2.1 geändert.

Download

Du kannst die aktuellste Version von HBCI4Java in Maven Central finden:

https://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.github.hbci4j%22%20AND%20a%3A%22hbci4j-core%22

Maven

<dependency>
   <groupId>com.github.hbci4j</groupId>
   <artifactId>hbci4j-core</artifactId>
</dependency>

Gradle

dependencies {
  compile 'com.github.hbci4j:hbci4j-core:+'
}

Selbst compilieren

Du benötigst:

Öffne ein Terminal-Fenster und checke den Quellcode per GIT aus:

$> git clone https://github.com/hbci4j/hbci4java.git

Wechsle in den Ordner "hbci4java":

$> cd hbci4java

Erzeuge die JAR-Datei per:

$> mvn package

Im Ordner "target" wird die Datei "hbci4j-core-${version}.jar" erzeugt.

Import in Eclipse

Du benötigst:

Klicke im Menu von Eclipse auf "File->Import..." und wähle "Maven->Existing Maven Projects". Folge den Anweisungen des Assistenten. Klicke anschließend mit der rechten Maustaste im "Package Explorer" oder "Navigator" auf das Projekt und wähle im Contextmenu "Maven->Update Project...".

Falls danach noch Compile-Fehler auftreten, ggf. die JAXB-Sourcen einmal manuell aus den XML-Schema-Dateien generieren:

$> mvn generate-sources

Unit-Tests

Im Ordner "src/main/test/" befinden sich einige JUnit-Tests. Einige davon erfordern jedoch das Vorhandensein spezieller Testumgebungen (Vorhandensein von Bankzugängen oder Chipkartenleser). Diese Tests werden im Zuge der Erstellung von Deployment-Artefakten nur dann ausgeführt, wenn die entsprechenden System-Properties "test.online=true" und "test.chipcard=true" aktiv sind. Die Tests zur Ausführung von HBCI-Geschäftsvorfällen benötigen jedoch weitere Daten (Empfängerkonto, Betrag, Verwendungszweck, usw.). Wenn du diese Tests ausführen möchtest, schaue dir den Quellcode der entsprechenden Tests an.

Beispiel-Code

Unter https://github.com/hbci4j/hbci4java/blob/master/src/main/java/org/kapott/hbci/examples/UmsatzAbrufPinTan.java findest du Beispiel-Code zum Abrufen des Saldos und der Umsätze eines Kontos per PIN/TAN-Verfahren.

About

Java-based FinTS protocol implementation that supports all features (chipTAN, pushTAN, HHD, SEPA, PSD2,...)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 92.9%
  • C++ 4.0%
  • HTML 2.2%
  • Other 0.9%