I upvoted Doctor Evil's response to this question because it has a pretty good explanation of your choices here. However, in case you have some technical know how, I thought I'd mention another option: hosting a Bitcoin-Armory daemon on your server. For the full details on this option, see this bitocointalk thread: https://bitcointalk.org/index.php?topic=92496.0.
The reason I mention this option is that a major issue with hosting a bitcoin service on your site is the possibility of losing your coins to hackers. This has happened in the past with Coinbase, although the Coindesk article was since taken down so I can't link to it. Hacks to bitcoin online wallets are quite common and likely to get more and more popular as bitcoin increases in popularity (and thus value).
The advantage of this approach is that if you set it up right, it's basically unhackable. Here's how to make it totally unhackable:
1) Setup a cold wallet with Armory, with an Armory signing service on an offline internet connected computer, a laptop that you can lock up would be ideal.
2) Setup this daemon so that it can produce new public keys online.
3) Start the daemon on your server and have it setup to give out new bitcoin public keys for every transaction.
That's it. However, this part does really require some technical know how to get the daemon setup on your server. But if you're willing to do this (or hire someone with the programming expertise to set it up for you), you'll have a bitcoin service on your server that is unhackable.
This technique would mean that all the sales from your site would be 100% bitcoins, but you always have the option of setting up a bitcoin wallet on Coinbase and cashing them out to fiat that way, or through another exchange that you might prefer.