Go to file
dankl 90ce8be25d Implemented toString() 2020-01-25 19:53:44 +01:00
BankListCreator Added description to @Ignore 2019-10-13 01:14:01 +02:00
BankingJavaFxApp Added IBankingPersistence to be able to store and deserialize added accounts and retrieved account transactions. Implemented BankingPersistenceJson not meant to be a real IBankingPersistence implementation but to get one up and running fast. 2020-01-15 23:55:16 +01:00
BankingJavaFxControls Added IBankingPersistence to be able to store and deserialize added accounts and retrieved account transactions. Implemented BankingPersistenceJson not meant to be a real IBankingPersistence implementation but to get one up and running fast. 2020-01-15 23:55:16 +01:00
BankingUiCommon Fixed that balance of selected accounts got calculated wrong (balances of accounts with multiple bank accounts got added multiple times) 2020-01-25 18:08:40 +01:00
docs Implemented SEPA bank transfer 2019-10-12 20:15:45 +02:00
fints4javaAndroidApp Simplified AddAccountDialog texts 2020-01-25 19:19:21 +01:00
fints4javaBankingClient Implemented mapping all AccountTypes 2020-01-25 18:06:34 +01:00
fints4javaLib Implemented toString() 2020-01-25 19:53:44 +01:00
gradle/wrapper Set Gradle wrapper version to 5.4.1 and Gradle plugin version to 3.5.1 2019-10-30 22:29:39 +01:00
persistence/json/BankingPersistenceJson Added IBankingPersistence to be able to store and deserialize added accounts and retrieved account transactions. Implemented BankingPersistenceJson not meant to be a real IBankingPersistence implementation but to get one up and running fast. 2020-01-15 23:55:16 +01:00
.gitignore Added docs/received_messages to .gitignore 2019-10-12 21:15:46 +02:00
README.md Started README 2019-10-12 21:46:20 +02:00
build.gradle Updated Kotlin version to 1.3.61 2020-01-19 17:12:21 +01:00
gradle.properties Initial commit 2019-10-02 19:54:11 +02:00
gradlew Initial commit 2019-10-02 19:54:11 +02:00
gradlew.bat Initial commit 2019-10-02 19:54:11 +02:00
settings.gradle Forgot to check in BankingPersistenceJson 2020-01-19 17:12:51 +01:00

README.md

fints4java

fints4java is an implementation of the FinTS 3.0 online banking protocol used by most German banks.

There's already a full functional FinTS/HBCI library for Java: hbci4java. So why did I take the trouble to write a new one?

  • hbci4java does not run on Android.
  • It's hard to configure (e.g. to get the account transactions from a particular day onwards you have to browse the source to find out that you have to add the key "startdate" to a Map and as value the date as a string with format "yyyy-MM-dd").
  • It's hard to extend. I wanted to implement SEPA instant payments, but you would have to dive deep into the source and implement it there. There's absolutely no way to (quickly) add it from your source by extending the library.

Features / Limitations

  • Supports only FinTS 3.0 which is used by most banks (HBCI 2.x is obsolete, FinTS 4.x is only used by one bank according to offical bank list).
  • Supports only PIN/TAN (used by most users), no signature cards.
  • Supports only chipTAN.
  • Supported operations:
    • Get account info
    • Get account transactions
    • Normal, scheduled and instant payment (SEPA) cash transfer

Setup

Not uploaded to Maven Central yet, will do this the next few days!

Gradle:

dependencies {
  compile 'net.dankito.banking:fints4java:0.1'
}

Maven:

<dependency>
   <groupId>net.dankito.banking</groupId>
   <artifactId>fints4java</artifactId>
   <version>0.1</version>
</dependency>

Usage

Get your bank's FinTS server address and BIC from this file:

FinTsClient client = new FinTsClient();

Logging

fints4java uses slf4j as logging facade.

So you can use any logger that supports slf4j, like Logback and log4j, to configure and get fints4java's log output.

License

tbd.

In short: Non commercial projects can use it absolutely for free, commercial projects have to pay.