merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

README (2668B)


      1 About
      2 =====
      3 
      4 This is the GNU Taler merchant backend. It provides the logic that should run
      5 at every GNU Taler merchant.  The GNU Taler merchant is a RESTful backend that
      6 can be used to setup orders and process payments.  This component allows
      7 merchants to receive payments without invading the customers' privacy. Of
      8 course, this applies mostly for digital goods, as the merchant does not need
      9 to know the customer's physical address.
     10 
     11 A general-purpose merchant back-office single-page (HTML/JavaScript)
     12 application is also included (alas, the source code for it is in another Git
     13 repository).
     14 
     15 This merchant backend must be combined with a merchant frontend, such as
     16 an e-commerce application.  You can find a WooCommerce plugin, a snack
     17 machine integration (taler-mdb) and various demonstrator front-ends at
     18 https://git.taler.net/.
     19 
     20 
     21 Joining GNU
     22 ===========
     23 
     24 This is a GNU program, developed by the GNU Project and part of the
     25 GNU Operating System. If you are the author of an awesome program and
     26 want to join us in writing Free Software, please consider making it an
     27 official GNU program and become a GNU maintainer.  You can find
     28 instructions on how to do so at http://www.gnu.org/help/evaluation.
     29 We are looking forward to hacking with you!
     30 
     31 
     32 Dependencies:
     33 =============
     34 
     35 Build tools for compiling Taler merchant from source:
     36 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     37 
     38 - gcc or clang
     39 - autoconf           >= 2.69        (building from git)
     40 - automake           >= 1.11.1      (building from git)
     41 - recutils           >= 1.0         (building from git)
     42 - libtool            >= 2.2
     43 - makeinfo           >= 4.8
     44 - make[*3]
     45 - pkgconf or pkg-config
     46 - sphinx
     47 - sphinx-rtd-theme
     48 - sphinx-multiversion
     49 
     50 
     51 Direct dependencies
     52 ~~~~~~~~~~~~~~~~~~~
     53 
     54 These are the direct dependencies for running a Taler exchange:
     55 
     56 - GNU Taler exchange >= 0.14.0
     57 - PostgreSQL         >= 15.0
     58 - libqrencode
     59 
     60 
     61 Project structure
     62 =================
     63 
     64 src/backend/
     65    contains the "backend", a C piece of software which implements crypto routines
     66    and communication with the 'exchange'
     67 
     68 src/backenddb/
     69    contains the database interactions (for now only PostgreSQL)
     70 
     71 src/lib/
     72    contains a C API to talk to the REST API of merchant backend
     73 
     74 src/util/
     75    common utility functions
     76 
     77 src/bank/
     78    utility functions to talk to the Taler bank revenue API to
     79    reconcile transactions
     80 
     81 src/merchant-tools/
     82    contains helper programs to setup or manipulate the merchant backend
     83 
     84 src/testing/
     85    contains test cases for the merchant backend
     86 
     87 doc/
     88    contains documentation files, like TeXinfo
     89 
     90 contrib/
     91    contains the single-page-app (Web interface) as a submodule,
     92    as well as CI/CD logic.