I wonder why there hasn't been a credit card company that offered a version of this with the option to prepay or link to a bank account or existing credit card. That way people could shop online and merchants who are already set up to accept credit cards wouldn't have to modify their code to interface with yet another payment API. The credit card companies would still get money from the fees charged to merchants, and they could also earn interest on the balances users keep.