OpenStore payment system discussion
-
@johndoe said in OpenStore payment system discussion:
If we use a blockchain-based cryptocurrency, we have the inconvenience for the user to exchange the "normal" currency into a cryptocurrency.
This isn't the only "inconvenience" involved. It's also horribly inconvenient (and can be quite costly) to convert that back into whatever local currency said developer needs to use to pay for their beers. It would also lend credence to and prop up yet another inequitable system designed to transfer wealth into the hands of the few, while at the same time expending untold amounts of energy.
Integrating any payment system into the Open Store creates incredibly complex legal and financial issues for the foundation and the community. And that's without even touching on the technical issues of it.
Unfortunately, we do not live in an equitable world, so a small amount isn't the same for everyone. And if we did live in one, a payment system would be unnecessary, as we'd all have what we need to live.
So, while I agree that not having any method for devs to get paid for apps is a deterrent for many devs to build/port apps on UT, and I would be happy to get paid more when I build apps, I must disagree with any attempt to do so which only exacerbates the hurdles we already have for doing so. Pretty much anything beyond the existing Donate button in the store, falls into this problematic area, unfortunately.
-
@kugiigi said in OpenStore payment system discussion:
Anyway, my concern right now is what's in the poc app? I'm not accusing anyone but we are mostly people who met in the internet and what if people who tries the poc actually input their payment details? How secure is the site and what does it actually do? Sorry if this was a stupid concern. It's just the first thing that came to mind
Your concerns are very valid, but it is designed so that the user does not need to put any data from him/her into the app. The user will see an address and can use any Litecoin wallet (another program or website) to send something to this address.
The server for open-store-payment-poc will now check the block chain, if any payment went to the given address (the sender and receiver are unknown, but every transfer to every address is known to everyone, this is how the block chain works).You will always get a new address, when you click on "Buy" (needs some time and maybe sometimes fails, because the server hardware is not the best and my code for this proof of concept could be improved, it should only show that it can work). But every address always points to the same wallet (in this case my wallet, but it could also be the wallet of someone else for some other app).
@kugiigi said in OpenStore payment system discussion:
There's just so many things involved and not just technical but also legal matters.
The main idea here is: The OpenStore would not need to process the the payment, because it is done by multiple third parties (people who mine Litecoin or who have Litecoin nodes) and the OpenStore only provides an address and looks if there is anything transferred to that address. But the developer would probably need to take care of legal matters as taxes when he receives Litecoin to his wallet or later transfers them into "normal" money.
And just to be clear: Litecoin was chosen here as one of many possible solutions, because it works and is well established. I could have also chosen Bitcoin, but the confirmation times and the fees are lower with Litecoin.
-
This is how the screen should look like (with some other random address of many addresses that all point to the same wallet), when you click on "Buy".
The green arrows point to the amount that was send to the given address.
As soon as the server detects, that the cost of the app was send to the given address (Confirmed address balance >= Cost of app), you will get a green "Install" and "Download" button.
You could also try it out by getting the code from gitlab and run it locally or you try it out with 0.0000001 LTC (I think you can make the amount you send as small as you want, but I only tried it with amounts between 0.0001 LTC and 0.001 LTC). -
@kugiigi
Sorry for all the information, it was just important for me that the user does not need to give any risky data to the app.
-
Oh okay.
Personally, I don't use cryptocurrency but I don't mind them, I think they're fine. However, I feel like this won't have a good reception given the general "reputation" of it -
The main idea here is: The OpenStore would not need to process the the payment, because it is done by multiple third parties (people who mine Litecoin or who have Litecoin nodes) and the OpenStore only provides an address and looks if there is anything transferred to that address. But the developer would probably need to take care of legal matters as taxes when he receives Litecoin to his wallet or later transfers them into "normal" money.
And just to be clear: Litecoin was chosen here as one of many possible solutions, because it works and is well established. I could have also chosen Bitcoin, but the confirmation times and the fees are lower with Litecoin.
The challenge here then becomes, if someone pays and wants a refund because they are not happy with what they get, where do they go? the first where they will go is the ubports foundation, then the openstore team, by the time they reach where they should beβ the damage's already done.
-
@Fuseteam Another challenge is what happens when the user does a clean install. Do they have to pay for the app again?
-
@arubislander It should not be necessary to pay again. The user will receive a confirmation code, that will also be saved on the server. So later on the user can use the confirmation code to download the app again.
Additionally, if the user has an OpenStore-Account (with Ubuntu One, GitLab or GitHub), it could maybe be even more convenient for the user (just logging in again).In the proof of concept, the confirmation code is always 1234, but in a real scenario it would be a new code for every generated address.
To prevent the confirmation code from getting lost, it could be automatically stored on the device and maybe (if the user wants this) be send to an e-mail address.Of cause if you have a friend who already payed for the app, you could just use a confirmation code from him/her and it will probably not attract attention, unless the confirmation code was already used 300 times this month.
For this I want to loosely quote the additional information text from the proof of concept: "I don't think preventing people from getting apps for free should be the future goal of the OpenStore. Apps (that require payment) will be purchased, when the payment is the most convenient way for the user." -
@Fuseteam Yes, you are right. The transaction is directly between the wallets from the user and the developer, but it would maybe be good to implement a system that ensures that the user can ask the developer for a refund (for example a button that appears after the payment).
Maybe it would even be easier to have a system where the user can use the app for free for a certain amount of time (the time he would be entitled to a refund) and than the user can decide to pay for the app, if he wants to get future updates.This is of cause very theoretical, because with the feedback I got so far, I don't think the majority of users want any form of payment system.
-
Update:
I removed the proof of concept web app from the OpenStore, because I have no time right now to regularly restart the server or to fix the stability problems. It would also not make much sense to improve something, that will not be used.It is all available under GNU GPL3 at: https://gitlab.com/AdamSchrey/open-store-payment-poc
So if anyone wants to revisit the idea, he/she can do so.
I am also happy to answer any questions about it.Thank you all for the feedback