The site charges in fiat but the customers will be paying in fiat or BTC?
Because if they're paying with Bitcoin you can use something like Bitpay, the invoice is generated in BTC, they pay the invoice and you receive BTC. You can also auto-convert the amount to fiat, for merchants who don't want to lose on volatility. Coinpayment may be an alternative of there is no fiat involved
Agreed, BitPay or Coinbase are the best (most established and secure) options.
You mean using bitcoin as a payment option, not the base of selling products, correct? An example is me selling donuts for 0.001 BTC per donut (using bitcoin as the basis), and selling donuts for 10 dollars but accepting bitcoin as a payment option (your case?).
Bitpay is likely your best option - but I am pretty sure there is a lot of KYC/ID Verification you have to do to open a business account, although they only have a 1% fee. Bitpay as a lot of options for accepting payments via your own site, email and even in person. Another feature is being able to sell your BTC to bitpay and cash out to USD/EURO to your personal/business bank account. You can add multiple payment options, paypal, mastercard as well as this option to make sure your buyers can pay with whatever they feel comfortable because you think that paying in BTC is a pretty big roadblock.
Other options have also been shown by other people, but I still reckon bitpay + paypal + card is the best way.
The OP clearly wants to receive Fiat and have it converted directly to Bitcoin. That's pretty obvious by the first post. BitPay or Coinbase will not help with this.
@OP, your best bet is to use a payment processor which you can then directly convert into BTC. I'd hate to reco it, due to their stance generally on Bitcoin, but PayPal may not be a bad bet TO TRY.
You can then convert PayPal to Virwox (Linden) and then to BTC, but you're generally going to lose some within the exchange.
Virwox has an API here:
https://www.virwox.com/developers.phpYou could use Skrill as well, since you can convert directly to BTC on their platform:
https://www.skrill.com/en/transfer-money/skrill-cryptocurrency/But I'm unsure if there is an API to do that automatically.