describe refunds as discussed

This commit is contained in:
Florian Dold 2016-08-24 13:53:08 +02:00
parent 28e392c5e7
commit 92a68087c8

View File

@ -976,12 +976,15 @@ it has the following key advantages:
\begin{lstlisting}
<script src="taler-wallet-lib.js"></script>
<script>
taler.offerRefundFrom("https://myshop/purchase/42/refund", (err) => {
// Obtain refund permissions from the merchant backend
// ...
let refundPermissions = /* ... */;
taler.acceptRefunds(refundPermissions, (err) => {
alert("An error occured while attempting a refund");
});
</script>
\end{lstlisting}
\caption{Sample JavaScript code to trigger a refund}
\caption{Sample JavaScript code to trigger a refund from the merchant's web shop}
\label{listing:refund}
\end{figure*}
@ -1000,13 +1003,11 @@ the exchange providers and fee structure, but not the cryptographic
coins. Consequently, the major cryptographic advances of Taler are
invisible to the user.
Taler's refresh protocol~\cite{talercrypto} also allows merchants to
give refunds to customers. For this, the merchant signs a message
that the customer's wallet processes (Figure~\ref{listing:refund}) and sends to the exchange in order
to obtain new coins as a refund. This
can even be done with anonymous customers, as refunds are given as
additional change to the owner of the coins that were originally spent
to pay for the refunded transaction.
Taler's refresh protocol~\cite{talercrypto} also allows merchants to give
refunds to customers. To refund a purchase, the merchant obtains a signed refund permission
from the exchange, which the customer's wallet processes
(Figure~\ref{listing:refund}) to obtain new, unlinkable coins as refund.
This process allows the customer to say anonymous when receiving refunds.
Taler's refresh protocol ensures unlinkability for both change and
refunds, thereby assuring that the user has key conveniences of other