Showing results for 
Search instead for 
Did you mean: 

MD5 Hash Calculation on Void transactions

I'm having trouble getting the MD5 hash to validate on an AIM Silent Post URL callback.


When receiving callbacks for regular transactions my hash calculation matches that passed in x_MD5_Hash.  On voided transactions, the hashes do not match.


I'm using the following values when calculating my end of the hash:


md5(Salt + LoginID + x_trans_id + x_amount).hexdigest().upper()

e.g., "MySaltMyLoginID123450.00"


If x_amount is empty, I use a value of "0.00" per the documentation.


As I said, the code works fine with Auth'd/Approved transactions, but fails with Voids.


Is there a different way to calculate hashes for voids?


The MD5 Hash is not calculated differently when the x_type=void. The amount used when generating the MD5 hash value in our system for voided transactions is 0.00.



Thank you,


Trusted Contributor
Trusted Contributor

I have the same problem. Very simple scenario - customer load funds from my site then admin void it from merchant area.


I get 2 responses when I create md5 hash for auth_capture response smth like

$response['x_trans_id'] = '123'

$response['x_amount'] = '20.00'

md5('myownmd5hash' . 'LoginID' . '123' . '20.00')

everything is ok, hashes are equal.

but when I do the same for void request

md5('myownmd5hash' . LoginID . '123' .'0.00')

hashes do not match.


I created a ticket in AN support center, but they said


Here in support, we can provide assistance with the Authorize.Net payment gateway account Merchant Interface. Unfortunately, we are not trained or certified developers and cannot provide scripting or coding support. However, we do offer an Integration Center with developer tools, troubleshooting suggestions, sample codes and even a developer's directory. We also provide a developer community forum for additional assistance and feedback. You can access our developer’s center at:


Question is unsolved

Thanks that's help