You could use the listunspent RPC command. It takes a parameter which allows you to filter out UTXOs which have less than X confirmations.
Example (from the manpage):
bitcoin-cli listunspent 6 9999999 "[\"bc1INVALIDq09vm5lfy0j5reeulh4x5752q25uqqvz34hufd\",\"bc1INVALIDq02ad21edsxd23d32dfgqqsz4vv4nmtfzuklhy3\"]"
Actually, it's my video :D
Lunanode provides easy "1 click install" process. You can host btcpay server on any other VPS server (like azure, aws, digitalocean etc.) but the process will be just a bit more complicated, and will require downloading and configuring btcpayserver.
As always any solution will have some tradeoffs, like cost or how easy it ...
It's my highly subjective opinion, but if you're not a government organization, using a service provider like Bitpay is a terrible idea. Bitpay was known to create anti-privacy features, perform KYC, and even known to stop some payments from going to the recipient. Every time you use a payment processor who is the custodian for the funds you want to receive ...