How are you going to deal with disputes? ie. I buy bitcoin at tinkercoin and now I'm want my $20 back. I've only to start a dispute at my bank and I'll get my money automatically until you prove that I've received the bitcoin. I'm not sure but I think you might have a hard time proving your system has no bug and that everything went as you say it did (ie. the customer actually own the bitcoin address you say is his etc.) I've always thought that you can't prove by your own system and that nobody will ever reach your code so see if it's right and even then, what prove that it is the code which was live when the customer was here etc.
Clearly, how are you going to prove the customer bitcoin address is actually his? Note I've almost no knownledge in this field and it's been a time I'm looking for an answer to this question.
edit: one might think that one $20 loss per x transactions can be absorbed by the cost of business but I think it doesn't work since the hack's going to be shared and it will grow in quantity and in efficiency to finally reach a buzz stage. I might be wrong again here.