I have recently implemented a solution for deposits and withrawals of Bitcoin using Electrum in daemon mode. I can really recommend it, it combines the best of both worlds.
- You are in control of your own keys.
- You don't need to run a full node (you can use a $5 server, a full node costs at least $50 per month)
Electrum has a very nice and easy to use JSON-RPC interface. It also supports Lightning Network.