I found it unsafe to trust a third party service that doesn't give you control of your private keys because If they see suspicious activities , a KYC verification could be necessary at some point. Blockchain have a
Receive Payments API which should allow doing what you asked for but I've seen some posts lately about them not responding to API keys requests and think could be unstable sometimes. Alternatively , running
bitcoind is definitely the best choice as you have more control on everything but It could cost you a little bit as you will need to have a full node.