bitpop: Thanks for your input.
Your link explains how to use JSON-RPC PHP to call bitcoind. I assume that bitcoind uses the "bitcoin API call list" (https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list). Does this mean that you think this method is an easier way to accept bitcoin from users than to use Blockchain.info's "receive payment API"?
The benefits of Blockchain.info's "receive payment API" are that we only need to generate one address and can keep our private key offline. Doesn't this "JSON-RPC PHP calling bitcoind" method imply that my bitcoin wallet will be running on my server? If so, how do we keep our private keys off of our server?
I run MAMP (Mac Apache MySQL PHP) on my localhost to do development and testing. I assume that I can run bitcoin in the background on my Mac and have it communicate with JSON-RPC PHP as per https://bitcointalk.org/index.php?topic=21956.0 ?
Yes that will be a hot wallet. But I'd cron it to transfer a certain amount out every hour.
There's nothing stopping you from using coinbase either