I'm a big supporter of Monero and I would like to use it on an e-commerce website as a payment method, but I don't understand the best way to implement it.
Should I use a payment provider?
This really depends on your level of technical expertise and website requirements.
If you can run your own node on the host, running that and the monero-wallet-rpc
yields an easy to use JSON RPC interface you can make use of to process Monero payments.
If not, there are payment providers like GloBee, which help accepting multiple currencies and offer support etc.