On my website I'd give a user a) a Monero address b) amount to send
But how would I verify a payment in an automatic manner, without a third-pary and, preferably, without a full node either? Would I have to ask a user to enter a transaction ID after he's sent a payment? Meaning, a user would return on a payment page and enter a transaction ID, and my script would verify an incoming payment by it.
Would transaction ID alone be enough? Would he be able to re-use some else's transaction ID in a attempt to cheat me?
Additionaly, would there be an issue in regards to verifying a payment, if I reuse an address among multiple users?
Note that I'm ok with connecting to the public Monero nodes and block explorers. And I might be ok with running a full node too. But I'm not ok with using third-party paid services.