How to accept BTC payments
Your work flow looks good, you should wait for a sufficient number of confirmations before  you transaction is fully accepted.  Not sure if you are delivering physical products or digital products,  that could impact how many confirms you choose to wait for.

Check out the following RPC API call:

 move &lt;fromaccount&gt; &lt;toaccount&gt; &lt;amount&gt; [minconf=1] [comment]  
 Move from one account in your wallet to another


This will allow you to move funds from one address to another within the same wallet.