Register and pay online
I think you might want to read this: http://drupaleasy.com/blogs/ultimike/2009/03/event-registration-ubercart

It's a walk through of setting up an "event registration" system in Drupal - however, that is really just a web site that:

1) presents introduction information about a product or service
2) After a customer clicks "Add to cart", presents the customer with a form to complete of
   needed info for that product/service
3) if the customer's credit/debit transaction is successful, the customer's purchase is 
   identified as "valid" and your web site does whatever you offered in the way of 
   product/service for your customer.


This is achieved with Ubercart, Ubercart's Conditional Actions, and some minor tweaking fully explained in the link above.