commit 44190713d5d1e4e2a1e9a80dd3282b481fba76d4
parent 2b46ac8d738dc39c2199a05a01402d25f3e5f9cf
Author: Christian Grothoff <christian@grothoff.org>
Date: Wed, 31 Jan 2024 11:17:38 +0100
address #8175
Diffstat:
8 files changed, 109 insertions(+), 98 deletions(-)
diff --git a/libeufin/regional-manual.rst b/libeufin/regional-manual.rst
@@ -218,97 +218,6 @@ Refers to ``nexus-manual.conf`` for more details.
-Configuring the merchant
-========================
-
-In order to setup a shop, you need a merchant backend to run. The guided setup
-installs and sets one backend up, but the user is required to complete the shop
-configuration via the Web browser.
-
-One fundamental piece of information are the banking details, to allow merchant
-receive payments from the exchange. If you don't have a bank account at the regional
-bank, contact the administrator and get one. After being able to login to the new
-bank account, you can see your IBAN by clicking on the ``Welcome, $USERNAME`` message
-in the profile page. The IBAN is shown under the ``Internal IBAN`` box.
-
-Next, point your browser to ``$proto://backend.$domain_name/``. You should
-be welcomed by the following merchant backoffice page:
-
-.. image:: merchant_first_login.png
-
-Such page offers to create a merchant profile: fill any required field (including
-your access token) and click to ``confirm``. It should now be possible to associate
-the banking details to the profile just created: click to ``Bank account`` at the
-left of the page. The following page should be shown:
-
-.. image:: no_default_account_yet.png
-
-Click on the blue "+" sign on the top right of the page, and expect the following
-page to appear:
-
-.. image:: enter_instance_details.png
-
-This tutorial is focused on IBAN, so choose ``iban`` as the account type, and
-expect the following page to appear:
-
-.. image:: instance_iban_config.png
-
-After providing the details and confirming, the shop is ready to generate orders
-and accept payments.
-
-Make an order
-+++++++++++++
-
-Click on ``Orders`` at the top left corner of the merchant backoffice page; the
-following page should appear
-
-.. image:: create_orders.png
-
-After having filled the required fields, the interface should show the following
-page with the related links to check the status of the order and let wallets pay
-for it. Take note of the link beside ``Payment URI`` (we'll call it ``$payUri``).
-
-.. image:: payment_links.png
-
-In order to test the setup, it should be now possible to use the command line wallet
-to withdraw Taler coins and spend them to buy the order we just created.
-
-.. _withdraw-simulation:
-
-Pay for the order
-+++++++++++++++++
-
-This section explains how to pay for the order in a scenario where the fiat bank
-is simulated. The simulation takes place by crafting ad-hoc XML files as if the
-bank would have issued them. Such XML files carry information about incoming payments
-to the regional currency master bank account. Finally, the XML files are passed
-to LibEuFin nexus via a convenient CLI method. The responsible script for such
-simulation is ``withdraw.sh``.
-
-Run ``./withdraw.sh`` without any arguments. Assuming that you ran the command
-as the ``test-user``, after the execution, 5 units of the regional currency should
-be found in the CLI wallet owned by ``test-user``.
-
-
-Check it with:
-
-.. code-block:: console
-
- $ taler-wallet-cli balance
-
-If so, call the wallet in the following way to finally pay for the order just created:
-
-.. code-block:: console
-
- $ taler-wallet-cli handle-uri $payUri
-
-.. note::
-
- Reset the state before going to production, as it impacts the way nexus
- asks records to the bank. In particular, delete: any database and the
- files ``config/user.conf`` and ``config/internal.conf``, and finally run
- ``./main.sh`` again.
-
Exchange-wallet integration
===========================
diff --git a/libeufin/create_orders.png b/screenshots/create_orders.png
Binary files differ.
diff --git a/libeufin/enter_instance_details.png b/screenshots/enter_instance_details.png
Binary files differ.
diff --git a/libeufin/instance_iban_config.png b/screenshots/instance_iban_config.png
Binary files differ.
diff --git a/libeufin/merchant_first_login.png b/screenshots/merchant_first_login.png
Binary files differ.
diff --git a/libeufin/no_default_account_yet.png b/screenshots/no_default_account_yet.png
Binary files differ.
diff --git a/libeufin/payment_links.png b/screenshots/payment_links.png
Binary files differ.
diff --git a/taler-merchant-manual.rst b/taler-merchant-manual.rst
@@ -648,7 +648,7 @@ The following is an example for a complete backend configuration:
DATABASE = postgres
[merchantdb-postgres]
- CONFIG = postgres:///donations
+ CONFIG = postgres:///taler-merchant
[merchant-exchange-kudos]
EXCHANGE_BASE_URL = https://exchange.demo.taler.net/
@@ -681,6 +681,8 @@ merchant backend as ``$USER`` using
$ taler-merchant-httpd &
$ taler-merchant-webhook &
$ taler-merchant-wirewatch &
+ $ taler-merchant-depositcheck &
+ $ taler-merchant-exchange &
You only need to run ``taler-merchant-webhook`` if one of the instances is
configured to trigger web hooks. Similarly, ``taler-merchant-wirewatch`` is
@@ -698,8 +700,8 @@ how to start and stop daemons.
When using the Debian/Ubuntu packages, the systemd configuration
will already exist. You only need to enable and start the service
- using ``systemctl enable taler-merchant-httpd`` and
- ``systemctl start taler-merchant-httpd``. Additionally, you should
+ using ``systemctl enable taler-merchant.target`` and
+ ``systemctl start taler-merchant.target``. Additionally, you should
review the ``/etc/apache2/sites-available/taler-merchant.conf``
or ``/etc/nginx/sites-available/taler-merchant`` (these files
contain additional instructions to follow), symlink it to
@@ -761,8 +763,40 @@ times, once for each instance.
:ref:`reverse proxy <reverse-proxy-configuration>`.
-Setup without the Web interface
--------------------------------
+
+Instance setup with the SPA
+---------------------------
+
+In order to setup a shop, you need a merchant backend to run. The guided
+setup installs and sets one backend up, but the user is required to complete
+the shop configuration via the Web browser.
+
+One fundamental piece of information are the banking details, to allow merchant
+receive payments from the exchange. If you don't have a bank account at the regional
+bank, contact the administrator and get one. After being able to login to the new
+bank account, you can see your IBAN by clicking on the ``Welcome, $USERNAME`` message
+in the profile page. The IBAN is shown under the ``Internal IBAN`` box.
+
+Next, point your browser to ``$proto://backend.$domain_name/``. You should
+be welcomed by the following merchant backoffice page:
+
+.. image:: screenshots/merchant_first_login.png
+
+Such page offers to create a merchant profile: fill any required field (including
+your access token) and click to ``confirm``. It should now be possible to associate
+the banking details to the profile just created: click to ``Bank account`` at the
+left of the page. The following page should be shown:
+
+.. image:: screenshots/no_default_account_yet.png
+
+Click on the blue "+" sign on the top right of the page, and expect the following
+page to appear:
+
+.. image:: enter_instance_details.png
+
+
+Instance setup without the Web interface
+----------------------------------------
Instances can be created by POSTing a request to ``/management/instances``
without using the Web interface. This could be useful if you want to create
@@ -806,8 +840,8 @@ or purge (deleting all associated data) instances exist as well and are document
in the :ref:`Merchant Backend API documentation <merchant-api>`.
-Accounts
---------
+Instance account setup
+======================
Before you can use an instance productively, you need to configure one or more
bank accounts. These bank accounts will be provided to the Taler exchange
@@ -826,6 +860,18 @@ The simplest way to configure an account is to use the Web interface which
has specific forms for different wire methods. Specifying the revenue gateway
with username and password is optional and discussed below.
+This tutorial is focused on IBAN, so choose ``iban`` as the account type, and
+expect the following page to appear:
+
+.. image:: screenshots/instance_iban_config.png
+
+After providing the details and confirming, the shop is ready to generate orders
+and accept payments.
+
+
+
+
+
Detecting Settlement: Manually Adding Transfers
-----------------------------------------------
@@ -858,6 +904,62 @@ API endpoint. The taler-bank used by regional currency setups also provides
a revenue API endpoint at ``$BANK_URL/accounts/$ACCOUNT_NAME/taler-revenue/``.
+Make an order
+=============
+
+Click on ``Orders`` at the top left corner of the merchant backoffice page; the
+following page should appear
+
+.. image:: screenshots/create_orders.png
+
+After having filled the required fields, the interface should show the following
+page with the related links to check the status of the order and let wallets pay
+for it. Take note of the link beside ``Payment URI`` (we'll call it ``$payUri``).
+
+.. image:: screenshots/payment_links.png
+
+In order to test the setup, it should be now possible to use the command line wallet
+to withdraw Taler coins and spend them to buy the order we just created.
+
+
+.. _withdraw-simulation:
+
+Pay for the order
+=================
+
+This section explains how to pay for the order in a scenario where the fiat bank
+is simulated. The simulation takes place by crafting ad-hoc XML files as if the
+bank would have issued them. Such XML files carry information about incoming payments
+to the regional currency master bank account. Finally, the XML files are passed
+to LibEuFin nexus via a convenient CLI method. The responsible script for such
+simulation is ``withdraw.sh``.
+
+Run ``./withdraw.sh`` without any arguments. Assuming that you ran the command
+as the ``test-user``, after the execution, 5 units of the regional currency should
+be found in the CLI wallet owned by ``test-user``.
+
+
+Check it with:
+
+.. code-block:: console
+
+ $ taler-wallet-cli balance
+
+If so, call the wallet in the following way to finally pay for the order just created:
+
+.. code-block:: console
+
+ $ taler-wallet-cli handle-uri $TALER_PAY_URI
+
+.. note::
+
+ Reset the state before going to production, as it impacts the way nexus
+ asks records to the bank. In particular, delete: any database and the
+ files ``config/user.conf`` and ``config/internal.conf``, and finally run
+ ``./main.sh`` again.
+
+
+
.. _Secure-setup:
Secure setup