The easy way is that you generate a privkey/pubkey. Show the client the public address and then use a setinterval on the client to query a block explorer API for any transactions to that address.
I've found bitcore to have better documentation than bitcoin-js and it sounds like you may benefit from their playground.
https://bitcore.io/playground/#/units