Claim Against Bond!
All building contractors are licensed by the state and must put up a Surety Bond with the licensing board before it can be issued, and that bond is exactly for just such situations.
First of all, you should contact the contractor and allow him a week or two to cure the problem, and any contact with him should be by way of a certified letter sent via U.S. Mail. If no response is given, then write to the roofing supplier and explain to them the situation briefly, the fact that you had made payment to the main contractor in full and that you are going to file a complaint against him with the state and will be making a claim against his bond. And then do exactly that. The state will sanction the contractor by (most probably) suspending his license and will pay roofing supplier the $3,600 they are owed.
You do have his contractor's license number, I hope?
fredrikklaw