Why do you need to create new addresses? Why not get them all sent to just one like you would with PP etc.
If you create a new one for each payment you can automate thing. 1.2 BTC send to address XXX = Payment for Order number XXX received.
The ability to have a "Account" for each payment of customer gives provides advantages in proof, accounting, automation and privacy for both customer and supplier (if used proper)
Sadly I don't know best practice examples for this, maybe you could start with blockchain?
https://blockchain.info/api