Can you clarify?
It sounds like the responsability for having designed an insecure app is of the people that asked the programmer/sofware house to write it[1]?
[1] and as said very likely paid good money for it ...
>but I'd put this down to "bosses want this out by DATE? Alrighty..."
I've even been a part of some of those projects.
I'm guessing the reason they're doing a stored value system is because the per transaction part of the merchant fees is too high for vending machine coffee, getting a larger deposit as one transaction helps a lot with that (although, apparently not enough to hire people who know not to trust clients)
It's my impression that consumer payment systems operate on a good-enough principle. Being fraud-proof is not the goal, the goal is not to spend more on security than you are preventing in fraud.
The same principles often come into play with online games and cheating, yet constantly developers make the same mistakes.
And there you have it. Most people don’t understand security. The business can say they are MVP and “secure enough”.
You cannot rely on the data network, have to cope with all kinds of failure modes and mobile features support. Most companies decide that they will make some attempt to make things secure and live with the risk.
Yep, I would add that the unknown programmer that wrote the app very likely thought that it was a very clever approach (and probably he/she has been paid good money to write the app).