-
-
Notifications
You must be signed in to change notification settings - Fork 217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement multiple currencies #182
Comments
I think this is still not a priority (previous statement: #44 (comment)). |
I asked MangoPay if they were planning to add support for currency conversion to their API, they said no. Not having currency conversion means that it would be more likely that a donor could find themselves in the annoying situation of having money in their Liberapay account but still needing to add more because the person they want to give to only accepts other currencies. |
Would it be possible to rely on another service for conversion? |
Assuming that such a service exists, it would be complicated and probably not instantaneous. There would also be the problem of bypassing MangoPay's fees. We could allow users to trade currencies between themselves, but that wouldn't guarantee always being able to convert your money when you want to. |
Does this include Bitcoin (XBT)? |
Not directly, but implementing native support of Bitcoins requires multiple currencies accounting. That's why #364 is tagged as Blocked on this issue. |
If the incoming money would always exchanged to Euro then no multiple currency accounting would be necessary. Like the the provider would accept Bitcoin, USD etc. on Liberapays behalf, exchange it to Euros. |
Automatic currency conversion is built into credit card systems, Liberapay donors whose bank accounts aren't denominated in euros can pay by card. This issue is about implementing multiple currencies in Liberapay itself. |
Just to be clear: Running everything in EUR and just displaying a converted amount in an another currency is not an option? |
No, we want real support for multiple currencies, it's the big missing piece of our internationalization efforts. |
The priority is US dollars, and we can start by only supporting one currency per account if that simplifies things. |
I've sent a message to Mangopay asking for clarifications on how exactly billing works for transactions in foreign currencies. |
One of the first steps here is to introduce currencies into the DB schema. If https://github.com/samv/pg-currency was still alive it would have been a nice solution. |
I see two possibilities:
|
Regarding exchange rates, I guess we can use the reference rates from the European Central Bank, specifically this XML file which is updated daily around 16:00 CET. Other options: https://stackoverflow.com/questions/3139879/how-do-i-get-currency-exchange-rates-via-an-api-such-as-google-finance. |
Regarding mixed-currency situations (e.g. when a European wants to donate to a US-based person), I'm thinking we could have the following user preferences to determine what to do:
As previously mentioned in #182 (comment) we could also implement currency swapping, and have the following preferences:
|
WIP status: 26 commits, 83 files changed, 1291 insertions(+), 698 deletions(-). |
Total of the first 3 pull requests: 38 commits, 97 files changed, 2261 insertions(+), 1161 deletions(-). |
Deployment went badly, we have lots of errors, including DB self-check failures. |
I've managed to fix almost everything. The remaining issues aren't critical. |
Payments in USD weren't actually working because the currency wasn't enabled in our production account. I contacted mangopay and they've just enabled it. |
What should the default currency be once our support of the US dollar has improved and stabilized? A relevant map: https://en.wikipedia.org/wiki/File:DOLLAR_AND_EURO_IN_THE_WORLD.svg |
Is this working and documented yet? |
The work isn't complete. I've started writing a blog post to announce the support of USD, but first I need to implement:
|
Thanks, just trying to keep up. |
Draft announcement: https://medium.com/@liberapay/liberapay-now-supports-us-dollars-f9484e3008f8 |
Wondering if I should publish now or wait. |
Let's call this done and move to new issues for the rest of the work. |
Spanish translation of the blog post by @jorgesumle: Liberapay ya acepta dólares americanos. |
I just realized that we didn't actually have an open issue for this, so here it is.
MangoPay currently supports the following currencies in addition to euros: GBP, CAD, SEK, NOK, DKK, CHF, ZAR, PLN, USD, AUD.
Fees become a lot more complicated when we introduce other currencies into the equation.
The text was updated successfully, but these errors were encountered: