Generate New Address VS Use Message

Hello Sirs. I am developing NEM payment option on my website. Please give me an advice.

  1. For every order at my website I can generate new address and save keypair to database. No message is needed in this case. But I forced to do extra API calls to check balances of all recent addresses (at least 20, better is 100). Is there any API which gets balance of list of addresses?

  2. I can generate one address and use Message to identify incoming transactions, but there is a problem: people mistype or omit Message too often (I know it because I also use Ripple).

Please give me your thought on this matter?

I’m afraid there is no API method to check list of addresses.
You can have many individual addresses and move coins after you credit it into database to one main wallet.
You can also process block by block and check if there is transaction to your accounts.