ehh, for the first wallet dev you just have to grip it and rip it. i learned all that stuff as i built it. its like anyhting else. one thing thats really good to know though... when you are sending/withdrawing btc, update your db table BEFORE you send and sign the transaction.
i would say use electrum's jsonrpc. it was my first setup... if on linux- just apt install electrum, launch daemon and read the docs for setting up a wallet. i personally don't have my webserver on the same box as my wallets, so i used stunnel4 (client-webserver, server-wallet server) on both boxes to make the call from webserver to wallet server.. since standard rpc calls are cleartext, and if you're sending or signing a transaction you'll be passing your wallet password in the call. it's really just meant for localhost setups.
if you are using php, i can give you some basic code examples; check balace, etc.
it actually took me a super long time building my first site that had deposit/withdraws. speaking of which, for accepting payments blockonomics.co is great. just signup and add your xpub key and you're off.