It was an issue with how i was signing the request header.
Finally i used the SDK Provided by CyberSource
i got the link from their GitHub page - https://github.com/CyberSource
i used the node JS one and followed their instructions exactly to construct and make the request for refund. It went through.