cashless2ecash

cashless2ecash: pay with cards for digital cash (experimental)
Log | Files | Refs | README

a-bank-integration-api.tex (2143B)


      1 \subsubsection{Bank-Integration API}
      2 \label{sec-implementation-bank-integration-api}
      3 
      4 The Bank Integration API was implemented according to the specification \cite{taler-bank-integration-api}.
      5 
      6 Namely this are the following endpoints:
      7 
      8 \begin{itemize}
      9     \item GET /config
     10     \item GET /withdrawal-operation/[WOPID]
     11     \item POST /withdrawal-operation/[WOPID]
     12     \item POST /withdrawal-operation/[WOPID]/abort
     13 \end{itemize}
     14 
     15 % \begin{figure}[h]
     16 %     \centering
     17 %     \includegraphics[width=0.7\textwidth]{pictures/diagrams/bank-integration-api.png}
     18 %     \caption{Bank-Integration API endpoints}
     19 %     \label{fig-diagram-bank-integration-api-sequence}
     20 % \end{figure}
     21 
     22 \textbf{Configuration (/config)}
     23 
     24 The configuration of the Bank-Integration endpoint is important for Wallets to check their compatibility and readiness. Also the currency specification can be retrieved by this endpoint.
     25 
     26 \textbf{Status of withdrawal (/withdrawal-operation/[WOPID])}
     27 \label{sec-implementation-bank-integration-api-status}
     28 
     29 The \textit{/withdrawal-operation/[WOPID]} endpoint returns the status of withdrawal operation. The endpoint enables long-polling through request parameters. This allows clients (the Wallet) to ask the Bank about a status before the status was reached. C2EC will then simply keep the connection open and either send a respond when a status change was registered or when the long-poll time exceeds.
     30 
     31 \textbf{Registering withdrawal parameters (/withdrawal-operation/[WOPID])}
     32 
     33 This endpoint is used by the Wallet to register the reserve public key generated by the Wallet, which will eventually hold the digital cash at the Exchange. This reserve public key is unique and the API will return a conflict response if a withdrawal with the reserve public key specified in the request already exists. This is also the case if a mapping for the given \textit{WOPID} was already created.
     34 
     35 \textbf{Abort withdrawal (/withdrawal-operation/[WOPID]/abort)}
     36 \label{sec-implementation-bank-integration-api-abort}
     37 
     38 This endpoint simply allows to abort the withdrawal. This will change the status of the withdrawal to the \textit{aborted} state.