I want to receive crypto-payments from my clients in such a way that they'll be able to send them to an address directly and from any type wallet they may have. Namely, I don't want to have them sign into a wallet via my website whether it be via MetMask, or a popup with a list of supported wallets.
That is, there'll be no smart contract a user will interract with.
Therefore, I'll have to a) generate key pair for all of my users b) keep the private keys somewhere, in a safe place.
(1) I won't have to store the private keys on my server, right? I could store them locally.
(2) Whenever I need to transfer coins from a user's wallet to the mine, the central one, I'll simply run a script on my local computer, where the private keys will be saved at. A script will iterate over all the wallets checking the balance of each one and, if it's greater than zero, it'll transfer coins to my main central wallet, right?
In this solution I won't be able to transfer the coins to my wallet once a user tops up his wallet, that is, immediatelly, unless I run a script every 5 minutes. However, receiving payments once a day, or even once a week, won't hurt me.
Question are there any downsides to this scheme that I haven't taken into account?