What should you do when your professor does not pay you for completed research work? I had an oral agreement with a supervisor that I was to complete research work for him. We established how many hours I was to work, and my hourly rate, when the work was to be done, etc. I completed the work, sent it off to him, he gave me some feedback and asked me to correct some citations and so, I incorporated the feedback, made fixes to my citations and then never heard back from him.
I recently emailed him about not being paid; he told me that he was not able to use the work and instead offered to find me alternative funding opportunities in the future. When I insisted that I did the work and deserved to get paid for my time, he threatened to report me for academic integrity issues. I'm only a Master's student, and this is my first research assistant position. Is this normal? Who should I speak to about this?
I am not part of a union, and my supervisor approached me to do this work. I do have email correspondence that confirms we have an agreement, but not confirming the specific terms (e.g. he wrote emails where he told me, submit your work and your time/hour log and I will pay you). He later revealed he had used the grant money to pay a different student to do different work.
The oral contract was made in front of others. It was in a lab setting, so others definitely overheard. Another clarification was that another student was to take over the work I began because I was going on an exchange to a different school. So there is more proof of a contract existing between my supervisor and me. My #1 concern is the threat of reporting me for academic integrity. My #2 concern is getting paid. I've contacted my faculty and was advised to report this to the dean of my faculty, which I'll be doing shortly.
Is this normal?

No.  In most places, wage theft is a serious crime.

Who should I speak to about this?

The HR department.  Possibly also the department chair.  Provide a detailed written statement of what happened and when.