How to generate sub addresses belonging to one private key We're creating a platform to buy/sell Bitcoin. 
We need to generate a new child address for each customer allowing them to receive Bitcoin. But all incoming Bitcoins should be stored in our main wallet actually.
These are what we have done up to now:


Creating a new wallet using Blockchain.com API using /api/v2/create and receiving an address as 1551SHYQu8CPuRxJagViGkppNZrv2gkfFi
Converting the wallet to HD using /merchant/:guid/enableHD
Receiving the first sub-wallet (xPriv &amp; xPub) if I am not wrong with a new public address 1CLpEvgs9o2mgKN5aS1mPeXGcqXs7fT75F
Send BTC to the address generated in step 3.


We expected that the transaction happened on on the last address as a derived child from the first address should be stored and visible in the main wallet, but by using explorers, we found out that there is not any event on the main address, whereas the transaction on the second one is confirmed.
We may did something wrong, or we might have a misunderstanding about the correct behavior in this purpose.
Your assistant is much appreciated.
Addresses derived by an HD wallet are intentionally not publicly linkable to one-another (that would be obviously terrible for privacy). Your wallet software will know the addresses are related (ie, it derived them all from the same seed), but a casual observer will not. 

Accordingly, when you pay some bitcoin to a child address, there is no associated activity involving the parent addresses. 


  How to generate sub addresses belonging to one private key in blockchain.com API


You cannot. Each address derived by an HD wallet will have a corresponding, unique private key related to it. The master private key for the wallet will not be able to sign and spend any funds stored at child addresses - you need the child private keys to do that.