summaryrefslogtreecommitdiff
path: root/design-documents/026-refund-fees.rst
blob: f65da4a4590f735685688450e3ae75e166a133b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Refunds and Fees
################

Summary
=======

This document discusses what should happen with deposit fees when a
deposit is refunded.


Motivation
==========

When a user receives a refund, we have to decide what happens to the deposit
fee that was originally paid on the associated deposit.  Originally, we said
that the deposit fee is waived when any refund happens.  However, if the
refund fee is zero and the deposit fee is non-zero, this results in a
problematic scenario where merchants issue miniscule refunds that primarily
enable customers to effectively obtain the deposit fee.


Requirements
============

  * If the refund and refresh fees are zero, it should be possible for
    consumers to get 100% of their digital cash back on refunds.
  * This should not result in a problematic situation where merchants
    conspire with consumers and issue miniscule refunds to allow consumers
    to work around deposit fees.

Proposed Solution
=================

  * Only waive the deposit fee for full refunds where for the
    specific coin (!) the refunded amount is the total value of the
    refunded deposit.

Alternatives
============

  * Only waive the deposit fee for full refunds where for the
    specific coin the refunded amount is the total value of the
    denomination of the coin. This may slightly simplify the
    logic, but has the problem that it does not enable 100%
    refunds if the original payment already required a refresh
    because the coin's value exceeded the paid amount.
  * Waive the deposit fee on any (including partial) refund.
    This creates a bad incentive structure if combined refresh
    and refund fees are below deposit fees.

Drawbacks
=========

  * We need to update and test an already complex fee calculation
    logic.


Discussion / Q&A
================

(This should be filled in with results from discussions on mailing lists / personal communication.)