re: "My freelancer has cancelled the contract and we mutually agreed not file a dispute. However I have been charged for the cancelled work. How can reverse the transaction?"
It is indeed possible to CANCEL a contract, and still be charged.
That is how the system is designed to work.
My freelancer worked one hour. We agreed to stop working together. I cancelled the contract. I was billed for 1 hour of the freelancer's work. That is correct.
If you wanted to NOT PAY ANYTHING, then the freelancer would have needed to DELETE that hour from his work diary before you were billed for it.
Or if the week was closed and the hour had already been processed, the freelancer would have needed to REFUND you the amount he received from working for that hour.
If the freelancer had actively done one of these things, then you would have ended up paying nothing for the contract.
To summarize: It looks like the system is working as it was designed to work. If you paid money for this contract, it is because the freelancer did not take the necessary active steps to prevent you from being charged.
re: "How can reverse the transaction?"
At this point, there is probably nothing you yourself can do to reverse the transaction using your client-side controls.
You can ask the freelancer to issue a refund. He can probably do that from his end, and eventually that reversal/refund will show up on your end, and you will have paid nothing for the contract.
That's pretty much your only option right now.
The freelancer may well have been unaware of the necessity to manually issue a refund. Cancelling an hourly contract has nothing to do with the amount of money paid.
Something else to think about:
How much did you actually pay to this freelancer? If it isn't that much, and if the freelancer really did spend time on your behalf, then just forget about it.