summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/api-bank.rst3
-rw-r--r--core/api-wire.rst (renamed from core/api-wire-plugin-bank.rst)4
-rw-r--r--core/index.rst4
-rw-r--r--developers-manual.rst20
-rw-r--r--taler-auditor-manual.rst40
-rw-r--r--taler-exchange-manual.rst96
-rw-r--r--taler-merchant-manual.rst53
7 files changed, 92 insertions, 128 deletions
diff --git a/core/api-bank.rst b/core/api-bank.rst
index aa9b53c..10eae9a 100644
--- a/core/api-bank.rst
+++ b/core/api-bank.rst
@@ -21,7 +21,8 @@
Taler Bank API
==============
-This chapter describe the APIs that banks need to offer to tightly integrate with GNU Taler.
+This chapter describe the APIs that banks need to offer towards Taler wallets
+to tightly integrate with GNU Taler.
.. contents:: Table of Contents
diff --git a/core/api-wire-plugin-bank.rst b/core/api-wire.rst
index c15d135..c97beed 100644
--- a/core/api-wire-plugin-bank.rst
+++ b/core/api-wire.rst
@@ -1,6 +1,6 @@
..
This file is part of GNU TALER.
- Copyright (C) 2019 Taler Systems SA
+ Copyright (C) 2019-2020 Taler Systems SA
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
@@ -29,7 +29,7 @@ LibEuFin (work in progress).
Authentication
--------------
-The wire plugin authenticates requests to the wire gatway via
+The bank library authenticates requests to the wire gatway via
`HTTP basic auth <https://tools.ietf.org/html/rfc7617>`_.
-------------------
diff --git a/core/index.rst b/core/index.rst
index ce4b451..8c86262 100644
--- a/core/index.rst
+++ b/core/index.rst
@@ -1,6 +1,6 @@
..
This file is part of GNU TALER.
- Copyright (C) 2014-2018 GNUnet e.V.
+ Copyright (C) 2014-2020 Taler Systems SA
TALER is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
@@ -32,7 +32,7 @@ interfaces between the core components of Taler.
api-common
api-error
api-exchange
- api-wire-plugin-bank
+ api-wire
api-merchant
api-auditor
api-bank
diff --git a/developers-manual.rst b/developers-manual.rst
index 19f1b17..fe1037a 100644
--- a/developers-manual.rst
+++ b/developers-manual.rst
@@ -1,3 +1,21 @@
+..
+ This file is part of GNU TALER.
+
+ Copyright (C) 2014-2020 Taler Systems SA
+
+ TALER is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 2.1, or (at your option) any later version.
+
+ TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+
+ @author Christian Grothoff
+
Developer's Manual
##################
@@ -819,7 +837,7 @@ Anonymous E-Cash
Payment Replay
The process of proving to the merchant that the customer is entitled
to view a digital product again, as they already paid for it.
-
+
**Use instead**: In the event history, "re-activated digital content purchase"
could be used.
diff --git a/taler-auditor-manual.rst b/taler-auditor-manual.rst
index 3205256..b277045 100644
--- a/taler-auditor-manual.rst
+++ b/taler-auditor-manual.rst
@@ -1,3 +1,22 @@
+..
+ This file is part of GNU TALER.
+
+ Copyright (C) 2019-2020 Taler Systems SA
+
+ TALER is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 2.1, or (at your option) any later version.
+
+ TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+
+ @author Christian Grothoff
+
+
GNU Taler Auditor Operator Manual
#################################
@@ -95,15 +114,6 @@ third parties to verify one's own work.
The Taler software stack for an auditor consists of the following
components:
-- Wire plugin
- A wire plugin enables the auditor to talk to the bank. Its role
- is to allow the auditor to retrieve incoming and outgoing wire
- transfers made by the exchange. Wire plugins are
- *plugins* as there can be many different implementations to deal with
- different banking standards. Wire plugins are automatically located
- and used by the auditor, but must be configured with the appropriate
- credentials.
-
- DBMS
Postgres
The auditor requires a DBMS to stores a local copy of the transaction history for
@@ -127,9 +137,9 @@ components:
of the specification by the exchange. However, for now it is assumed that
the respective cryptographic proofs are reported and verified manually ---
as with a well-behaved exchange this should obviously be a rare event.
-
+
The main binary of this component is the ``taler-auditor-httpd``.
-
+
- The wire-auditor
The wire auditor verifies that the bank transactions performed by the exchange
were done properly. This component must have access to the bank account
@@ -185,7 +195,7 @@ exchange compilation.
- texlive-latex-extra
- python3-jinja2
-
+
- libgnunetutil (from Git)
- GNU Taler exchange (from Git)
@@ -319,7 +329,7 @@ The ``taler-auditor-dbinit`` tool is used to initialize the auditor's
tables. After running this tool, the rights to CREATE or DROP tables
are no longer required and should be removed.
-
+
.. _Deployment:
Deployment
@@ -381,7 +391,7 @@ be fatal. Given the blob, the auditor would sign it using:
Those arguments are all mandatory.
- ``EXCHANGE_MASTER_PUB`` the base32 Crockford-encoded exchange’s
- master public key.
+ master public key.
- ``BLOB`` the blob generated by the ``taler-exchange-keyup`` tool.
@@ -584,5 +594,3 @@ already seen.
More extensive auditor testing where additional transactions
have been made against the database when the audit is being resumed
should be done in the future.
-
-
diff --git a/taler-exchange-manual.rst b/taler-exchange-manual.rst
index 4963817..26a23e0 100644
--- a/taler-exchange-manual.rst
+++ b/taler-exchange-manual.rst
@@ -1,3 +1,21 @@
+..
+ This file is part of GNU TALER.
+
+ Copyright (C) 2014-2020 Taler Systems SA
+
+ TALER is free software; you can redistribute it and/or modify it under the
+ terms of the GNU General Public License as published by the Free Software
+ Foundation; either version 2.1, or (at your option) any later version.
+
+ TALER is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+ A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with
+ TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
+
+ @author Christian Grothoff
+
GNU Taler Exchange Operator Manual
##################################
@@ -110,14 +128,19 @@ components:
computes the expected bank balance, revenue and risk exposure of the
exchange operator. The main binary is the ``taler-auditor``.
-- Wire plugin
- A wire plugin enables the HTTP frontend to talk to the bank. Its role
- is to allow the exchange to validate bank addresses (i.e. IBAN
- numbers), for the aggregator to execute wire transfers and for the
- auditor to query bank transaction histories. Wire plugins are
- *plugins* as there can be many different implementations to deal with
- different banking standards. Wire plugins are automatically located
- and used by the exchange, aggregator and auditor.
+- Wire adapter
+ A wire adapter is a component that enables exchange to talk to a bank.
+ (1) The libtalerfakebank implements a bank with a wire adapter API
+ inside of a testcase.
+ (2) For the demonstration Web site (or local currencies),
+ the Python bank provides a bank that directly provides
+ the wire adapter API.
+ (3) For production, libeufin's Nexus component implements a wire
+ adapter towards the traditional SEPA banking system with IBAN
+ accounts.
+ The client-side wire adapter API is implemented in libtalerbank and
+ is used by the aggregator to execute wire transfers and for the
+ auditor to query bank transaction histories.
- DBMS
Postgres
@@ -397,21 +420,14 @@ information:
The first part of the URL following ``payto://`` (“sepa” or
“x-taler-bank”) is called the wire method.
-- A matching wire plugin that implements a protocol to interact with
- the banking system. For example, the “taler-bank” plugin can interact
- with the Taler bank demonstrator or with libeufin.
- A wire plugin only supports one particular
- wire method. Thus, you must make sure to pick a plugin that supports
- the wire method used in the URL.
-
- A file containing the signed JSON-encoded bank account details for
the /wire API. This is necessary as Taler supports offline signing
for bank accounts for additional security.
-- Finally, the plugin needs to be provided resources for authentication
+- Finally, the exchange needs to be provided resources for authentication
to the respective banking service. The format in which the
- authentication information must be provided depends on the wire
- plugin.
+ authentication information is currently a username and password
+ for HTTP basic authentication, or nothing for the fakebank.
You can configure multiple accounts for an exchange by creating sections
starting with “account-” for the section name. You can ENABLE for each
@@ -424,16 +440,21 @@ wire transfers):
URL = "payto://sepa/CH9300762011623852957"
WIRE_RESPONSE = ${TALER_CONFIG_HOME}/account-1.json
- # Currently, only the 'taler_bank' plugin is implemented.
- PLUGIN = <plugin_name_here>
+ # Wire method supported for merchants, i.e. "IBAN" or
+ # "x-taler-bank"
+ METHOD = <method>
# Use for exchange-aggregator (outgoing transfers)
ENABLE_DEBIT = YES
# Use for exchange-wirewatch (and listed in /wire)
ENABLE_CREDIT = YES
- # Authentication options for the chosen plugin go here.
+ # Authentication options for exchange bank account go here.
# (Next sections have examples of authentication mechanisms)
+ TALER_BANK_AUTH_METHOD = basic
+ USERNAME = exchange
+ PASSWORD = super-secure
+
The command line tool taler-exchange-wire is used to create the
``account-1.json`` file. For example, the utility may be invoked as
@@ -447,37 +468,6 @@ specified by the configuration):
The generated file will be echoed by the exchange when serving
/wire [3]_ requests.
-.. _Wire-plugin-_0060_0060taler_005fbank_0027_0027:
-
-Wire plugin “taler_bank”
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. meta::
- :keywords: x-taler-bank
- :keywords: taler_bank plugin
-
-The ``taler_bank`` plugin implements the wire method “x-taler-bank”.
-
-The format of the ``payto://`` URL is
-``payto://x-taler-bank/HOSTNAME[:PORT]``.
-
-For basic authentication, the ``taler_bank`` plugin only supports simple
-password-based authentication. For this, the configuration must contain
-the “USERNAME” and “PASSWORD” of the respective account at the bank.
-
-::
-
- [account-1]
-
- # Bank account details here..
- # ..
-
- # Authentication options for the taler_bank plugin below:
-
- TALER_BANK_AUTH_METHOD = basic
- USERNAME = exchange
- PASSWORD = super-secure
-
.. _Wire-fee-structure:
Wire fee structure
@@ -487,7 +477,7 @@ Wire fee structure
:keywords: wire fee
:keywords: fee
-For each wire method (“sepa” or “x-taler-wire”, but not per plugin!) the
+For each wire method (“sepa” or “x-taler-wire”) the
exchange configuration must specify applicable wire fees. This is done
in configuration sections of the format ``fees-METHOD``. There are two
types of fees, simple wire fees and closing fees. Wire fees apply
diff --git a/taler-merchant-manual.rst b/taler-merchant-manual.rst
index 1dfbfc7..0ac0ca5 100644
--- a/taler-merchant-manual.rst
+++ b/taler-merchant-manual.rst
@@ -561,15 +561,6 @@ Accounts
$ taler-config -s ACCOUNT-bank -o WIRE_RESPONSE \
-V '{$TALER_CONFIG_HOME}/merchant/bank.json'
- - The “PLUGIN” option specifies which wire plugin should be used for
- this account. The plugin must support the wire method used by the
- URL. For example, use:
-
- ::
-
- $ taler-config -s ACCOUNT-bank -o PLUGIN \
- -V taler_bank
-
- For each ``instance`` that should use this account, you should set
``HONOR_instance`` and ``ACTIVE_instance`` to YES. The first
option will cause the instance to accept payments to the account
@@ -587,21 +578,6 @@ Accounts
to use “account-bank” for the “default” instance.
- Depending on which PLUGIN you configured, you may additionally
- specfiy authentication options to enable the plugin to use the
- account.
-
- For example, with ``taler_bank`` plugin, use:
-
- ::
-
- $ taler-config -s ACCOUNT-bank -o TALER_BANK_AUTH_METHOD \
- -V basic
- $ taler-config -s ACCOUNT-bank -o USERNAME \
- -V user42
- $ taler-config -s ACCOUNT-bank -o PASSWORD \
- -V pass42
-
Note that additional instances can be specified using different
tokens in the section name instead of ``default``.
@@ -633,7 +609,6 @@ The following is an example for a complete backend configuration:
[ACCOUNT-bank]
URL = payto://x-taler-bank/bank.demo.taler.net/4
WIRE_RESPONSE = $DATADIR/bank.json
- PLUGIN = taler_bank
HONOR_default = YES
ACTIVE_default = YES
TALER_BANK_AUTH_METHOD = basic
@@ -942,34 +917,6 @@ public key using the ``gnunet-ecc`` command-line tool:
$(taler-config -f -s INSTANCE-default \
-o KEYFILE)
-.. _SEPA-configuration:
-
-Using the SEPA wire transfer method
------------------------------------
-
-SEPA
-EBICS
-The following is a sample configuration for the SEPA wire transfer
-method: [2]_.
-
-Then, to configure the EBICS backend for SEPA payments in EUR, the
-following configuration options need to be set:
-
-::
-
- $ taler-config -s TALER -o CURRENCY -V EUR
- $ taler-config -s ACCOUNT-e -o PLUGIN -V ebics
- $ taler-config -s ACCOUNT-e -o URL \
- -V payto://sepa/XY00111122223333444455556666
- $ taler-config -s ACCOUNT-e -o WIRE_RESPONSE
- -V '${DATADIR}/b.json'
-
-Please note that you will also have to configure an exchange and/or
-auditors that support SEPA. However, we cannot explain how to do this
-yet as such entities do not yet exist. Once such entities do exist, we
-expect future versions of the Taler backend to ship with pre-configured
-exchanges and auditors for common denominations.
-
.. _Tipping-visitors:
Tipping visitors