Is it possible to delay payment?

I am trying to set up a site where we will sell services. However, I would like to charge for service after it's done, not before.

Is there a way to delay payment or have it so that it's pre-authorized before we send the service people out?