Perfect. Send TF a list of all the problems/changes you want made and have him fix/make them.
Did you have a contract with him?
Already done a long time ago and after much time wasted, the final site submissions continuously failed to meet the agreed specs and he has been fired.
If the mechanic on your car fails repeatedly to fix/improve it as you ask and it's obvious he is unqualified to do the original task, you don't ask him to keep working on it do you?
I guess that's the heart of the dispute though. If someone is unskilled/unable to do the job they say they can do, should they get time to learn and keep hammering at the job until it resembles what they agreed? I say no, if they can't / don't perform, then I shouldn't need to go through the work and tell them to bring everything into compliance (for the 3rd/4th times).
He knew all along the site needed a way to get bitcoins in and out and claimed (again) it was working on his final submission of the site. When he says it's working and basic tests show it's not, I won't argue with him about it, begging him to do the site correct, he's fired. He had plenty of warning that his work on the site was failing specs and it is no surprise to him being fired.
Ultimately his willingness to pretend he is not an incompetent programmer allowed his scam to work. Along with pretending to know how to code a bitcoin ecommerce site (pretending to have done the site in his sig).