taler-docs

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

026-refund-fees.rst (1994B)


      1 DD 26: Refunds and Fees
      2 #######################
      3 
      4 .. note::
      5 
      6    This is implemented (as of 2023-09-15).
      7 
      8 Summary
      9 =======
     10 
     11 This document discusses what should happen with deposit fees when a
     12 deposit is refunded.
     13 
     14 
     15 Motivation
     16 ==========
     17 
     18 When a user receives a refund, we have to decide what happens to the deposit
     19 fee that was originally paid on the associated deposit.  Originally, we said
     20 that the deposit fee is waived when any refund happens.  However, if the
     21 refund fee is zero and the deposit fee is non-zero, this results in a
     22 problematic scenario where merchants issue minuscule refunds that primarily
     23 enable customers to effectively obtain the deposit fee.
     24 
     25 
     26 Requirements
     27 ============
     28 
     29   * If the refund and refresh fees are zero, it should be possible for
     30     consumers to get 100% of their digital cash back on refunds.
     31   * This should not result in a problematic situation where merchants
     32     conspire with consumers and issue minuscule refunds to allow consumers
     33     to work around deposit fees.
     34 
     35 Proposed Solution
     36 =================
     37 
     38   * Only waive the deposit fee for full refunds where for the
     39     specific coin (!) the refunded amount is the total value of the
     40     refunded deposit.
     41 
     42 Alternatives
     43 ============
     44 
     45   * Only waive the deposit fee for full refunds where for the
     46     specific coin the refunded amount is the total value of the
     47     denomination of the coin. This may slightly simplify the
     48     logic, but has the problem that it does not enable 100%
     49     refunds if the original payment already required a refresh
     50     because the coin's value exceeded the paid amount.
     51   * Waive the deposit fee on any (including partial) refund.
     52     This creates a bad incentive structure if combined refresh
     53     and refund fees are below deposit fees.
     54 
     55 Drawbacks
     56 =========
     57 
     58   * We need to update and test an already complex fee calculation
     59     logic.
     60 
     61 
     62 Discussion / Q&A
     63 ================
     64 
     65 (This should be filled in with results from discussions on mailing lists / personal communication.)