1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
.. target audience: operator, developer
Nexus Manual
############
.. contents:: Table of Contents
LibEuFin Nexus is an EBICS facilitator. It offers a command line
interface to setup EBICS access, download banking records, and submit payments.
Future versions will offer a Web API to allow Taler Exchanges to talk to their
banks.
In this manual, we explain how to setup an EBICS subscriber. We assume that
the bank had already granted EBICS access to the subscriber.
Installing Nexus
================
The following section was tested on an *OpenJDK 17* environment.
Building from source
--------------------
Nexus belongs to the LibEuFin project, and can be downloaded via Git:
.. code-block:: console
$ git clone git://git.taler.net/libeufin
Note that Kotlin and Gradle should already work on the host system.
Navigate into the *libeufin* local repository, and from top-level run:
.. code-block:: console
$ ./bootstrap
$ ./configure --prefix=$PREFIX
$ make install-nexus
If the previous steps succeeded, the ``libeufin-nexus`` command should
be found in the $PATH.
Setting up the EBICS subscriber
===============================
The following snippet shows the mandatory configuration values.
.. code-block:: console
[nexus-ebics]
CURRENCY = CHF
# Bank
HOST_BASE_URL = http://bank.example.com/
BANK_DIALECT = postfinance
# EBICS IDs
HOST_ID = mybank
USER_ID = myuser
PARTNER_ID = myorg
# Key files
BANK_PUBLIC_KEYS_FILE = ${LIBEUFIN_HOME}/bank-keys.json
CLIENT_PRIVATE_KEYS_FILE = ${LIBEUFIN_HOME}/subscriber-keys.json
# Account information
IBAN = myiban
BIC = mybic
NAME = myname
Assuming that the configuration file exists at ``$config_file``, the following
command would start the EBICS setup process. The files CLIENT_PRIVATE_KEYS_FILE
and BANK_PUBLIC_KEYS_FILE would be created at the CWD. Adjust their path to your
setup ('$HOME' is currently not supported along paths).
.. code-block:: console
libeufin-nexus ebics-setup -c $config_file
If the previous command succeeded, the subscriber keys reached the bank, but the setup
**should** fail with an ``EBICS_INVALID_USER_STATE`` error code. That happens because
the client tries to download the bank keys *before* having confirmed the subscriber keys
via the traditional post service.
To that purpose, the previous run should have left a PDF document that the subscriber can
print, sign, and send to the bank to confirm their subscriber keys. Look for the message
looking like ``PDF file with keys hex encoding created at: /tmp/libeufin-nexus-keys-$timestamp.pdf``.
Once the bank received and approved such printed document, run the same command again, in
order to download the bank keys and let the user accept them.
.. code-block:: console
libeufin-nexus ebics-setup -c $config_file
The setup is considered finished once the user accepts the bank keys.
|