There are a slew of options. But in general, if you need to keep costs low, and setup headaches to a minimum, you can use a third party hosted payment processor like PayPal's "Payments Standard", or Amazon Simple Pay. As mentioned previously, these services offer a hosted checkout process.
Pros - Little to no
setup or monthly cost. Comparatively easy setup &
implementation.
Cons - Higher per-transaction fees and a less
seamless checkout experience for your customers. (higher
abandonment rates for sure)
For a truly integrated checkout experience you'll want to use a fully integrated payment processor/merchant account. A couple of the most popular services are Authorize.net and First Data.
Pros - Fully
integrated / seamless checkout process. Your customer never has to
leave your site. Lower per-transaction fees.
Cons - Higher setup and monthly fees. More
difficult setup & implementation.