I really wish I could cite a source here, but I cannot remember the sci-fi book I was reading that featured this as a core feature of their banking system. I will try to describe it though;
The premise is that you can create buckets linked to an account into which you can manually (or automatically up to a prearranged limit) siphon funds from the main account. Basically, what is described here Virtual 'Savings' Accounts
The extension to this is the concept of using these buckets for one time payments, generate a key which can be emailed/texted or transferred by NFC or any other method you like. The recipient of that key can then use it to check what funds are in the bucket and receive them.
Combined savings and instant payment mechanism. No chance of being overcharged, and a nice neat record showing how long it took you to save for what you wanted.