Reminds me of my laundry system here at university.
We have cards which we top up using a code given to us after paying £10 (minimum.) We go to a machine, enter the code, and the card is topped up.
Of course they are not networked, so how does it do it? It stores two bytes on the card for the top up amount.

So with a readily available smart card reader, you can add as much top up as you like.
Also, the online form has a drop down menu for selecting the top up amount, with a minimum of £10. It is possible to edit the form data, and set the minimum to as little as 1p. No input checking from the application.
