[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Taler] Why the 2 fractional digits limit in the sandbox?

From: MS
Subject: Re: [Taler] Why the 2 fractional digits limit in the sandbox?
Date: Thu, 12 Jan 2023 21:50:02 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2

Hello Florian,

please find the replies along the message.

On 1/10/23 02:09, Florian Jung via Taler wrote:

while trying to reproduce the issue that throws an invalid EBICS error when transferring 1µEUR in the sandbox (the smallest possible amount seemed to be 10µEUR due to a 5 fractional digits limit in the XML parser), I found out that recent versions of the sandbox only allow 2 fractional digits (i.e. whole eurocents, no fractional cents any more).

The change was introduced with f5995b846492c7b091c09e204f7c6450b5369034.

I found a comment saying:

+                    /**
+                     * NOTE: this check breaks the compatibility with pain.001, +                     * because that allows up to 5 fractional digits. For Taler +                     * compatibility however, we enforce the max 2 fractional digits policy.
+                     */

While this explains to me why I was unable to transfer 1µEUR (the sandbox wrongfully created a statement with that amount, which then rightfully was rejected as invalid), I don't understand why we are now limiting the amounts to 2 fractional digits only.

Sandbox is now introducing a cash-out feature.  That means
that Sandbox users will be able to transfer their Sandbox
currency to a bank account they own in another bank.

At this point there is no rounding implemented.  That means
that by allowing fractions of cents in the Sandbox, we would
not be able to cash-out towards a traditional bank.

That is now the main reason; the comment you found in the
code is inaccurate in this regard.

In my tests, no part of the setup broke when I used amounts with 5 fractional digits.

Ideally, the allowed fractional digits could be configured, because I see use cases where only 2 digits are allowed (anything that mimics a "real" bank which probably only allows whole eurocents) and cases where lots of digits are allowed (e.g. for our WICMP setup, we used the full 5 digit range for microtransactions).
Sure, but as long as the rounding is missing, you can't cash-out
when the external bank supports less fractional digits.

On the other hand: Would it be possible for the *exchange* to support coins in smaller fractions, while the sandbox / bank supports payouts only whole cents? That would allow us to have microtransactions at least in the Taler world (which would be enough. nobody wants to pay a sepa fee for a 0.1 eurocent transfer :D)
That should already be possible, as long as the merchant
sells at those high resolution prices.  See here:



reply via email to

[Prev in Thread] Current Thread [Next in Thread]