I have resolved the error on my end. A few pointers. It is expected that the last key-value pair in your request is the hash. Everything above it is used in generating the hash. In your case the steps would look like this
Step 1
method:ecocash
phone:0771111111
id:xxxx
reference:TEST REF
amount:99.99
returnurl:http://www.google.com/search?q=returnurl
resulturl:http://www.google.com/search?q=resulturl
authemail:someone@sommail.com
status:Message
step 2 concatenate values as a string (note keys are not included)
ecocash0771111111xxxxTEST REF99.99http://www.google.com/search?q=returnurlhttp://www.google.com/search?q=resulturlsomeone@sommail.comMessage
step 3 append integration key
ecocash0771111111xxxxTEST REF99.99http://www.google.com/search?q=returnurlhttp://www.google.com/search?q=resulturlsomeone@sommail.comMessage[intergration key]
step 4 - sha512 hash