IF they have a Merchant Account with Authorize.Net then they provide api's to create a form that will allow for people to either type in an amount or through your own code allow you to dynamically add the price.
This would then submit to the authorize for payment processing. Then you can produce much like paypal pro get a response if it went through or not.
Paypal Pro is obviously the other way to do this without leaving a site. If you can redirect out of the site Paypal Standard is a good option.
If you are going to do payment processing on your own site you really should get a SSL to help secure it.