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.