Any other bitcoin wallet other than bitcoind can generate unique bitcoin address through API and can do callbacks when funds arrive and confirm?
With an electrum wallet, your app needs only to know the master public key to generate addresses (no need for an API).
That's how the microbitcoin.net app I developped is working to generate a new address for each new invoice.
You need a watch only electrum wallet to get payment notifications but akaik an electrum API is still to be developped.
Anyhow, for a webshop, checking the electrum wallet from time to time is sufficient at this point.
If your project entails withrawals in bitcoins, you may want to consider imposing a lead time and checking the withdraws manually or via an audit node.
Maintaining a hot wallet for instant withdraws is a risky business unless you are ready to spend on infrastructure.