YOu have a dedicated box that stores details and is remotely contacted through an XML-RPC/JSON-HTTP API of some sort.
The API should have two methods:
* Add a new card to account. * Make payment of £xx from card NN.
The machine is locked down, runs no other services, and so cards cannot be exported/stolen from this system. You'd encrypt the filesystem and prompt for a key/passphrase at boot. Ideally you'd only login via the serial console so the only service exposed is your "add/charge" methods.
(Even allowing the remote-deletion of cards could be a security issue; obviously.)