taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

025-withdraw-from-wallet.rst (2438B)


      1 DD 25: Withdraw coins manually starting from the wallet
      2 #######################################################
      3 
      4 :Design status: Accepted
      5 :Implementation status: Implemented
      6 :DD shepherd: TBD
      7 :Historical contributors: Sebastian
      8 :First published: 2021-10-14
      9 :Last substantive change: 2021-10-14
     10 :Implementation evidence: taler-typescript-core (2020-06-21), taler-android (2021-12-07)
     11 :Normative references: :doc:`../wallet/wallet-core`, :doc:`048-wallet-exchange-lifecycle`
     12 
     13 .. note::
     14 
     15    The screens below record the original UI design.  The wallet API and DD48
     16    are authoritative for manual withdrawal and exchange lifecycle behavior.
     17 
     18 Summary
     19 =======
     20 
     21 This document presents the design discussion about the manual withdraw screens
     22 
     23 Motivation
     24 ==========
     25 
     26 To have a way to initiate a withdrawal process and complete with a bank that is
     27 not aware of GNU Taler
     28 
     29 Proposed Solution
     30 =================
     31 
     32 Access to the feature
     33 ^^^^^^^^^^^^^^^^^^^^^
     34 
     35 Adding a withdraw button in the main balance page to initiate the process.
     36 
     37 This feature can be use in the Pay call-to-action when there is not enough coins.
     38 
     39 Start
     40 ^^^^^
     41 
     42 This screen the user will be able to select the currency from a list of known
     43 currencies, switch the exchange, go to a page to add an exchange and define an
     44 amount to be withdraw.
     45 
     46 .. image:: ../images/wallet-start-manual-withdraw.svg
     47   :width: 800
     48 
     49 
     50 Success
     51 ^^^^^^^
     52 
     53 Here the user will see the account details where it needs to send money to
     54 complete the withdrawal.
     55 
     56 .. image:: ../images/wallet-confirm-withdraw.svg
     57   :width: 800
     58 
     59 Transaction history
     60 ^^^^^^^^^^^^^^^^^^^
     61 
     62 The account information should be added into the Withdrawal Transaction detail
     63 screen if the withdrawal is still pending. This will also affect the use case
     64 when the user started the transaction from a taler-aware bank (in which case the
     65 user doesn't need to do an extra step to complete the process) so the text
     66 should be consistent in both scenarios.
     67 
     68 Alternatives
     69 ============
     70 
     71 * removing the amount field, the exchange will send coins equal to the amount it received
     72 
     73 * showing the fees, can we calculate the withdrawal fee?
     74 
     75 * should we show the terms of service?
     76 
     77 * exchange field first has been discussed, but the exchange list its only showing the
     78   current currency exchanges, the user need to switch the currency first. Adding a
     79   new exchange should be done in a different context that can be accessed using the
     80   ``add exchange`` link