I would honestly recommend using
BTCPayServer, but it's Bitcoin-only. I know that many people like to ask for more supported currencies and all that, but I'm telling you, you're going to get 1 or 2 payments each, after putting in lots of time to set everything up, so it's really not worth it.
Bitcoin is just used so, so much more.
Well, not exactly bitcoin-only, it works with most Bitcoin Forks. But don't expect support for something like Ethereum or Tron for example.
Also I have found for reliable store uptime, you need to install it on a disk with as much space as BTC's blockchain, otherwise it might ignore your pruning settings (for whatever reason), fill up your disk, and all requests to the store fail with a 500 error.
I just paid for a $20 VPS with 20GB SSD and used a custom Docker fragment for 10GB pruning. Of course I used the docker install after all the
hell I went though setting up the services
manually (separate wordpress install and NGINX service already using port 443 on my host precluded me from using Docker initially). Put the fragment in the correct folder but never saw my pruning settings in Bitcoind and that's where all the havoc happened. Didn't want to use the built-in 5GB pruning and sacrifice LN payments as I have micropayment products on my own store.
CoinPayments is probably the best option so get your ID and bank/rent statements ready because it's better to verify immediately than after you start getting payments from your store.
Do you have to KYC yourself to integrate it to sites?