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**, **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: In order to operate any EBICS communication with ``libeufin-nexus``, it is necessary to setup EBICS access via the ``ebics-setup`` subcommand. 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. The following sections describe each command in detail. 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. Its options are as follows: **-h** \| **--help** Print short help on options. **-c** \| **--config** *FILENAME* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **--force-keys-resubmission** Resubmits the client keys. If no keys were found, it creates and submits them. **--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. dbinit ------ This subcommand defines the database schema for Nexus. It is mandatory to run this command before invoking the ``ebics-submit`` or ``ebics-fetch`` subcommands. Its options are as follows: **-h** \| **--help** Print short help on options. **-c** \| **--config** *FILENAME* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **-r** \| **--reset** If present, deletes any database table (WARNING: potential data loss) ebics-submit ------------ This subcommand submits any initiated payment that was not already sent to the bank. In the current version, initiated payments may come from a cash-out operation or from a bounced incoming payment. ebics-submit is Taler friendly, therefore bounced payments are those that do not contain a valid subject to start a Taler withdrawal. Cash-out operations come from a tightly integrated bank that offers their customers to convert their currency to the currency whose the EBICS subscriber bank account is tied to. Its options are as follows: **-h** \| **--help** Print short help on options. **-c** \| **--config** *FILENAME* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. Uploaded documents will be stored *before* being submitted to the bank. This directory would contain several directories, each named after the ``YYYY-MM-DD/submit`` format. The pain.001 file would then be named in the following schema: ``$microseconds_pain.001.xml``. **--transient** This flag, enabled by default, causes the command to check the database and submit only once, and then return. ebics-fetch ----------- This subcommand downloads and parse EBICS files and ingest them into the database. Along the download, ebics-fetch would bounce incoming payments that do not have a valid Taler subject, or as well those with an already existing valid subject. Valid incoming payments are then stored in the database so that they can trigger Taler withdrawals. Along this process, ebics-submit would as well reconcile initiated outgoing payments with any outgoing transactions that show up in the downloaded records. The files type can be given as an argument to select what will be fetched. If no argument is given, all supported files are fetched. The following files are supported: * ``acknowledgement``: EBICS acknowledgement, retrieves the status of EBICS orders. * ``status``: Payment status, retrieves status of pending debits. * ``notification``: Debit & credit notifications, retrieves the history of confirmed debits and credits. **-h** \| **--help** Print short help on options. **-c** \| **--config** *FILENAME* Specifies the configuration file. **-L** \| **--log** *LOGLEVEL* Configure logging to use LOGLEVEL. **--debug-ebics** *SAVEDIR* Log EBICS content at SAVEDIR. Downloaded documents will be stored *before* being ingested in the database. This directory would contain several directories, each named after the ``YYYY-MM-DD/fetch`` format. The stored files would then be named after the following schema: ``$microseconds_$filename``. Exception to this naming scheme are the HAC responses, since they do not get any filename assigned by the ZIP archive (they are sent unzipped). Their naming scheme is: ``$microseconds_HAC_response.pain.002.xml``. **--transient** This flag, enabled by default, causes the command to perform one download and return. **--pinned-start** Only supported in --transient mode, this option lets specify the earliest timestamp of the downloaded documents. The latest timestamp is always the current time. 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. **-h** \| **--help** Print short help on options. **-c** \| **--config** *FILENAME* 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. .. 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 .