2023-06-12 18:08:08 +02:00
|
|
|
\section{Domestic wallet check} \label{sec:proc:domestic}
|
2023-05-07 17:52:46 +02:00
|
|
|
|
|
|
|
\begin{figure}[h!]
|
|
|
|
\begin{sequencediagram}
|
|
|
|
\newinst{wallet}{\shortstack{Customer wallet \\
|
|
|
|
\\ \begin{tikzpicture}
|
|
|
|
\node [fill=gray!20,draw=black,thick,align=center] { Unique \\ Wallet ID};
|
|
|
|
\end{tikzpicture}
|
|
|
|
}}
|
|
|
|
\newinst[2]{exchange}{\shortstack{Taler (exchange) \\
|
|
|
|
\\ \begin{tikzpicture}[shape aspect=.5]
|
|
|
|
\tikzset{every node/.style={cylinder,shape border rotate=90, draw,fill=gray!25}}
|
|
|
|
\node at (1.5,0) {\shortstack{{{\tiny Database}}}};
|
|
|
|
\end{tikzpicture}
|
|
|
|
}}
|
|
|
|
\newinst[2]{sms}{\shortstack{Address validator}}
|
|
|
|
|
|
|
|
\postlevel
|
|
|
|
\mess[0]{wallet}{{P2P payment (Wallet ID)}}{exchange}
|
|
|
|
\begin{callself}{exchange}{New wallet?}{}
|
|
|
|
\end{callself}
|
|
|
|
\mess[0]{exchange}{Request address validation}{sms}
|
|
|
|
\mess[0]{sms}{Validation process ID}{exchange}
|
|
|
|
\mess[0]{exchange}{Request address validation}{wallet}
|
|
|
|
\mess[0]{wallet}{Send address}{sms}
|
2023-05-07 18:37:24 +02:00
|
|
|
\mess[0]{sms}{{Send confirmation code (to address)}}{wallet}
|
|
|
|
\mess[0]{wallet}{Supply confirmation code}{sms}
|
2023-05-07 17:52:46 +02:00
|
|
|
\mess[0]{sms}{{Confirmed customer address}}{exchange}
|
|
|
|
\mess[0]{exchange}{{Confirm completion}}{wallet}
|
|
|
|
\mess[0]{wallet}{{Retry action}}{exchange}
|
|
|
|
\end{sequencediagram}
|
|
|
|
\caption{Deposit interactions between customer, Taler exchange (payment
|
|
|
|
service provider) and external address validation service. The process can be
|
|
|
|
triggered by wallet-to-wallet (P2P) payments described in Chapter~\ref{chap:triggers}.}
|
|
|
|
\label{fig:proc:domestic}
|
|
|
|
\end{figure}
|
|
|
|
|
|
|
|
Our users have to accept the terms of service which restrict the use of the
|
|
|
|
service to domestic customers. For interactions with the core banking system,
|
|
|
|
this simply means that we only accept payments from or to domestic bank
|
|
|
|
accounts. For P2P payments between wallets, we require that the wallets are
|
|
|
|
controlled by a domestic entity. We define domestic entities as those that
|
|
|
|
are able to receive messages at a domestic address. Two types of addresses are
|
|
|
|
supported:
|
|
|
|
|
|
|
|
\begin{itemize}
|
|
|
|
\item Control over a domestic {\bf mobile phone number} is established
|
2023-05-07 18:37:24 +02:00
|
|
|
by sending an SMS message with a confirmation code to the MSIN.
|
2023-05-07 17:52:46 +02:00
|
|
|
\item Control over a domestic {\bf postal address} is established by
|
2023-05-07 18:37:24 +02:00
|
|
|
sending a letter with a confirmation code to the address.
|
2023-05-07 17:52:46 +02:00
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
Depending on the type of address, a validation has a limited validity period,
|
|
|
|
as shown in Table~\ref{table:proc:domestic}. When the validity period is
|
|
|
|
over, a wallet has to re-do the address validation before they can receive any
|
|
|
|
further funds through the service.
|
|
|
|
|
|
|
|
\begin{table}[h!]
|
|
|
|
\caption{Restrictions on address validations}
|
|
|
|
\label{table:proc:domestic}
|
|
|
|
\begin{tabular}{l|l|r}
|
|
|
|
{\bf Type} & {\bf Validity period} & {\bf Restricted to} \\ \hline \hline
|
|
|
|
Mobile phone number & 12 months & {\em +41} \\
|
|
|
|
Postal address & 36 months & {\em Switzerland} \\
|
|
|
|
\end{tabular}
|
|
|
|
\end{table}
|