exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

int-pull.tex (2086B)


      1 \section{Pull payment (aka invoicing)} \label{sec:pull}
      2 
      3 \begin{figure}[h!]
      4   \begin{sequencediagram}
      5     \newinst{payer}{\shortstack{Payer \\
      6       \\ \begin{tikzpicture}
      7         \node [fill=gray!20,draw=black,thick,align=center] {Pre-funded \\ Wallet};
      8       \end{tikzpicture}
      9     }}
     10     \newinst[2]{exchange}{\shortstack{Taler (exchange) \\
     11        \\ \begin{tikzpicture}[shape aspect=.5]
     12         \tikzset{every node/.style={cylinder,shape border rotate=90, draw,fill=gray!25}}
     13         \node at (1.5,0) {\shortstack{{{\tiny Database}}}};
     14        \end{tikzpicture}
     15     }}
     16     \newinst[2]{payee}{\shortstack{Payee \\
     17       \\ \begin{tikzpicture}
     18         \node [fill=gray!20,draw=black,thick,align=center] { Unique \\ Wallet ID};
     19       \end{tikzpicture}
     20     }}
     21     \postlevel
     22     \begin{callself}{payee}{Review pull payment fees}{}
     23     \end{callself}
     24     \mess[0]{payee}{{Create invoice (Wallet ID)}}{exchange}
     25 
     26     \mess[0]{exchange}{{Invoice ready}}{payee}
     27     \mess[0]{payee}{{Send invoice (e.g. via QR code)}}{payer}
     28 
     29     \begin{callself}{payer}{Review invoice}{}
     30     \end{callself}
     31     \mess[0]{payer}{{Make payment (Coins)}}{exchange}
     32 
     33     \begin{sdblock}{Domestic wallet?}{}
     34     \begin{callself}{exchange}{Figure~\ref{fig:proc:domestic}}{}
     35     \end{callself}
     36     \end{sdblock}
     37     \begin{sdblock}{KYC/AML required?}{}
     38     \begin{callself}{exchange}{Figures~\ref{fig:proc:kyc}, \ref{fig:proc:aml}}{}
     39     \end{callself}
     40     \end{sdblock}
     41 
     42     \mess[0]{exchange}{{Distribute digital cash}}{payee}
     43 
     44 \end{sequencediagram}
     45   \caption{Interactions between wallets and Taler exchange
     46     in a pull payment. KYC/AML checks are described in
     47     Section~\ref{sec:kyc:pull}.}
     48   \label{fig:int:pull}
     49 \end{figure}
     50 
     51 We do {\bf not} permit the payer to regain control over their funds, once the
     52 payment was made they are locked {\em until} the payee passes the KYC/AML
     53 checks.  We only do the AML/KYC process once the funds are locked at the
     54 exchange. This ensures we know the actual transacted amounts (which may be
     55 lower than the total amounts requested) and prevents risk-free probing
     56 attacks.