Wallet-to-Wallet, "P2P" payments in GNU Taler

Hi @ShadeOW,

As for your first question: I think that the picture in the documentation is slightly misleading us thinking that there are two different processes running as merchant backend. There is only one process (taler-merchant-httpd) serving two types of REST-API’s: 1) the public facing API used by browsers and 2) the internal API used by the backoffice of the merchant. The administrator of the merchant-side has to separate those REST-API’s via some http-routing mechanism (nginx, squid, etc.).

Regarding your second question: What exactly is it that you want to know?

1 Like

I guess @ShadeOW only wanted to understand the dark magic behind this P2P payment feature of GNU Taler. Am I right?

Indeed, Taler is a P2P service despite the existence of the Exchange. The exchange is only there to convert money to tokens and vice versa. Once your wallet contains tokens withdrawn from the bank, you can pay to a merchant. The payment process is extensively described in the Payment processing section of the Merchant Backend API:

To process Taler payments, a merchant must first set up an order with the merchant backend. The order is then claimed by a wallet, and paid by the wallet. The merchant can check the payment status of the order. Once the order is paid, the merchant may (for a limited time) grant refunds on the order.

Thanks for asking anyway, it was a nice opportunity for me to dig in further in the docs and to suggest some improvements to bring to the docs :slight_smile:

I would not use the term “P2P” for the purchase operation with the merchant (which was the context of ShadeOW’s question). “P2P” in the GNU Taler lingo has nothing to do with the merchant-protocols or components. (“P2P” is designed in 13.13. DD 13: Wallet-to-Wallet Payments — GNU Taler and has its own API on the exchange : 1.3. The Exchange RESTful API — GNU Taler)

1 Like