Skip to content
Uwe Maurer edited this page Jun 20, 2018 · 2 revisions

Setup

  • First step is to contact your bank to request EBICS access and sign the needed documents.
  • They might ask for an IP address and only allow requests from this address.
  • Find your banks EBICS parameters, eg EBICS parameters for Zürcher Kantonalbank (in German)
  • In addition your bank will provide you with more parameters such as user id.
  • Put those parameters in the ebics.txt properties file

Compile the project

  mvn install

  mvn exec:java  -Dexec.mainClass=org.kopi.ebics.client.EbicsClient -Dexec.args="--help"

Usage

Once you configured ebics.txt you can create the user and send the INI and HIA request.

  mvn exec:java  -Dexec.mainClass=org.kopi.ebics.client.EbicsClient -Dexec.args="--create"

  mvn exec:java  -Dexec.mainClass=org.kopi.ebics.client.EbicsClient -Dexec.args="--ini --hia"

Then you need to print the generated initialization letters, they are generated in text format, you can convert them to PDF if you prefer: The letter are in ./client/users/<userId>/letters/

recode utf-8..latin1 < A005Letter.txt | enscript  --output=-  | ps2pdf - > A005Letter.pdf
recode utf-8..latin1 < E002Letter.txt | enscript  --output=-  | ps2pdf - > E002Letter.pdf
recode utf-8..latin1 < X002Letter.txt | enscript  --output=-  | ps2pdf - > X002Letter.pdf

Print them and send them to your bank. They will then compare the letters with the INI and HIA request you sent and activate your account.

After this you can send the HPB request to fetch the bank parameters.

mvn exec:java  -Dexec.mainClass=org.kopi.ebics.client.EbicsClient -Dexec.args="--hpb"

Then you need to compare the if the bank encryption keys from the HPB request match with the keys you see in your documents.

Now the client is ready to use, you can fetch the account data with a STA request

mvn exec:java  -Dexec.mainClass=org.kopi.ebics.client.EbicsClient -Dexec.args="--sta -o sta.txt"

SOCKS

If your bank allows requests only from a specific IP address (eg your server machine), it is convenient to use a SOCKS proxy so that you can send requests from your local machine during initialization / testing.

ssh -D localhost:55555  user@yourserver

mvn exec:java  -DsocksProxyHost=localhost -DsocksProxyPort=55555   .... 
Clone this wiki locally