From 735fb8a89f51875196783b167e8ae622368808fc Mon Sep 17 00:00:00 2001 From: Marcello Stanisci Date: Mon, 26 Dec 2016 18:42:18 +0100 Subject: Still on splitting --- docs/dev-merchant.rst | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docs/dev-merchant.rst (limited to 'docs/dev-merchant.rst') diff --git a/docs/dev-merchant.rst b/docs/dev-merchant.rst new file mode 100644 index 00000000..e4cd4cbc --- /dev/null +++ b/docs/dev-merchant.rst @@ -0,0 +1,38 @@ +.. + This file is part of GNU TALER. + Copyright (C) 2014, 2015, 2016 INRIA + 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 Lesser General Public License for more details. + You should have received a copy of the GNU Lesser General Public License along with + TALER; see the file COPYING. If not, see + + @author Marcello Stanisci + +======== +Merchant +======== + +.. _merchant-arch: + +------ +Design +------ + +In order for a merchant to be Taler-compatible, they need to run two distinct Web +services: a *frontend* and a *backend*. The former is typically the Web site where +the merchant exposes their goods, whereas the latter is a C program in charge of +making all the Taler-related cryptography. + +In details, the frontend gathers all the information from customers about sales, +and forwards it to the backend via its RESTful API. Typically, the backend will either +cryptographically process this data or just forward it to the exchange. + +That saves the frontend developers from dealing with cryptography in scripting +languages and from commmunicating at all with any exchange. + +Additionally, the backend RESTful API is such that a frontend might be run completely +database-less. -- cgit v1.2.3