Just to let you know I am paying attention to the issue of how you get paid online.
An advance deposit is also a well established form of payment. Google and Skype have used this approach for a long time.
What I am seeing now is are many additional approaches. Banks and near-banks are offering more and better online payment services. Including one-time only payment options.
Paypal allows payments among its customers. As do many other systems where you can have a pre-established account.
The most recent innovators are systems like WePay and 2Checkout which are built into sites where you already have a customer. An example is Evite where you create the event, class or sale and then collect the payment through Evite.
Each of these services have their own way of collecting fees for the money transfer. You can compare fees on a site like this.