it looks good to me.
although i would add security to it.
when using any other payment systems online you are risking your information being stolen like your credit card information, and there is always risks of malware, keylogger, and other things that can steel your information and abuse it.
however with bitcoin since you can do everything offline all the said risks reach zero. you can have a air lock system using a Live linux offline for example, and make the transactions (use your sensitive information like private keys) there and then only broadcast the public data (non-sensitive) online.
also there is no charge back. it means the trust is shifted from users trusting the merchant with their personal information into merchants trusting their users not to double spend. also users trusting merchants (based on the merchant history) to send the product.