Well, as far as security goes, BitPay is a safe choice. In fact Steam (Valve) is using their services and they are like an intermediary who just make a bitcoin address and receive the payment then give it to you.
Looking at your username, you may want to check to see if they offer services to your country
I think the best option is running your own full node (e.g. bitcoin core) and then on your server connect to it using JSON-RPC to generate addresses and request payments. (You should consult someone more experienced than me though)