Generating bitcoin wallets for my customers
You can do this easily using bitcoincore. Brief overview of process (Source: bitcointalk thread)


Generate unique address using getnewaddress
Register on walletnotify to get txid as notification
Call gettransaction with txid from step 2 to get details/address of payment received