libeufin-nexus(1) ################# .. only:: html Name ==== **libeufin-nexus** - EBICS client. Synopsis ======== **libeufin-nexus** [**-h** | **--help**] [**--version**] COMMAND [ARGS...] Subcommands: **dbinit**, **ebics-setup**, **ebics-submit**, **ebics-fetch**, **serve**, **initiate-payment**, **config** Description =========== **libeufin-nexus** is a program that provides a service to interface to various bank access APIs Its options are as follows: **-h** \| **--help** Print short help on options. **–version** Print version information. The interaction model is as follows: - Configure the database with commands ``dbinit``. - Setup EBICS access with commands ``ebics-setup``. Setting the access means to share the client keys with the bank and downloading the bank keys - After a successful setup, the subcommands ``ebics-submit`` and ``ebics-fetch`` can be run to respectively send payments and download the bank account history. - Start the HTTP server with command ``serve``. Let this run in a shell, writing logs to stderr. The following sections describe each command in detail. dbinit ------ This command defines the database schema for LibEuFin Nexus. It is mandatory to run this command before invoking the ``ebics-setup`` or ``serve`` commands. Its options are as follows: **-c** \| **--config** *config_file* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **-r** \| **--reset** Reset database (DANGEROUS: All existing data is lost) **-h** \| **--help** Print short help on options. ebics-setup ----------- This command creates the client keys, if they aren't found already on the disk, and sends them to the bank if they were not sent yet. In case of sending, it ejects the PDF document that contains the keys fingerprints, so that the user can send it to the bank to confirm their keys. The process continues by checking if the bank keys exist already on disk, and proceeds with downloading them in case they are not. It checks then if the bank keys were accepted by the user; if yes, the setup terminates, otherwise it interactively asks the user to mark the keys as accepted. By accepting the bank keys, the setup terminates successfully. It is mandatory to run this command before invoking the ``ebics-fetch`` or ``ebics-submit`` commands. Its options are as follows: **-c** \| **--config** *config_file* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **--force-keys-resubmission** Resubmits all the keys to the bank. **--auto-accept-keys** Accepts the bank keys without interactively asking the user. **--generate-registration-pdf** Generates the PDF with the client keys fingerprints, if the keys have the submitted state. That's useful in case the PDF went lost after the first submission and the user needs a new PDF. **--debug-ebics** Log EBICS transactions steps and payload at log_dir. **-h** \| **--help** Print short help on options. ebics-submit ------------ This subcommand submits EBICS files to the bank. It submits pending outgoing payments. Outgoing payment status is fetched by ebics-fetch. Submits are executed at 'FREQUENCY'. Its options are as follows: **-c** \| **--config** *config_file* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **--transient** Execute once and return, ignoring the 'FREQUENCY' configuration value. **--debug-ebics** *log_dir* Log EBICS transactions steps and payload at log_dir. **-h** \| **--help** Print short help on options. ebics-fetch ----------- This subcommand fetches EBICS files from the bank. Incoming payments are recorded and the status of outgoing payments is updated. If ACCOUNT_TYPE is ``exchange``, incoming payments with an invalid Taler subject are bounced. Bounces are submitted by ebics-submit. Fetches are executed at 'FREQUENCY' or any time a real-time EBICS notification is received. **-c** \| **--config** *config_file* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **--transient** Execute once and return, ignoring the 'FREQUENCY' configuration value. **--pinned-start** *YYYY-MM-DD* Only supported in --transient mode, this option lets specify the earliest timestamp of the downloaded documents. **--debug-ebics** *log_dir* Log EBICS transactions steps and payload at log_dir. **-h** \| **--help** Print short help on options. serve ----- This command starts the HTTP server. Its options are as follows: **-c** \| **--config** *config_file* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **--check** Check whether an API is in use (if it's useful to start the HTTP server). Exit with 0 if at least one API is enabled, otherwise 1. **-h** \| **--help** Print short help on options. initiate-payment ---------------- This subcommand initiates an outgoing payment. The pending payment is stored in the database and will be performed the next time ``ebics-submit`` run. It takes one argument, the creditor IBAN payto URI, which must contain a 'receiver-name' and may contain an 'amount' and a 'message' if they have not been defined using CLI options. **-c** \| **--config** *config_file* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **--amount** *AMOUNT* The amount to transfer, payto 'amount' parameter takes the precedence **--subject** *TEXT* The payment subject, payto 'message' parameter takes the precedence **--request-uid** *TEXT* The payment request UID, will be randomly generated if missing. **-h** \| **--help** Print short help on options. .. include:: ../frags/libeufin-config-cli.rst SEE ALSO ======== libeufin-nexus.conf(5) Bugs ==== Report bugs by using https://bugs.taler.net or by sending electronic mail to .