Showing results for 
Search instead for 
Did you mean: 

transHashSha2 not present in API response

I have configured the signature key in my Sandbox account.  On the "API Credentials & Keys" account setting page, I see "Signature Key Last Obtained:" with the timestamp of when I configured it, so it seems like it really is set.


I am using the API Live Console to try the API transaction here:


The response contains "<transHashSha2 />" - no value.


I know the API credentials used in the test are the correct credentials b/c I see the transaction appear in the "Unsettled Transactions" list of the same sandbox account where I configured the signature key.


Is there some additional setting I need to configure to get the new hash value to be returned?


Additional Info...


I see a similar result when using JSON with the test, except transHashSha2 is an empty string.



    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": "redacted",
            "transactionKey": "redacted"
        "refId": "123456",
        "transactionRequest": {
            "transactionType": "authCaptureTransaction",
            "amount": "19.66",
              "profile": {
    		  	"customerProfileId": "1506827642",
    		  	"paymentProfile": { "paymentProfileId": "1506185517" }


    "transactionResponse": {
        "responseCode": "1",
        "authCode": "DEXXRV",
        "avsResultCode": "Y",
        "cvvResultCode": "P",
        "cavvResultCode": "2",
        "transId": "60117143359",
        "refTransID": "",
        "transHash": "366C3EAC47213A70487C7184EC69957A",
        "testRequest": "0",
        "accountNumber": "XXXX4349",
        "accountType": "Visa",
        "messages": [
                "code": "1",
                "description": "This transaction has been approved."
        "transHashSha2": "",
        "profile": {
            "customerProfileId": "1506827642",
            "customerPaymentProfileId": "1506185517"
        "SupplementalDataQualificationIndicator": 0
    "refId": "123456",
    "messages": {
        "resultCode": "Ok",
        "message": [
                "code": "I00001",
                "text": "Successful."

Again, this is using API Live Console at the following URL:


Hi @mroberts 


For getting transHashSHA2in the response you need to generate a signatureKey first in you Merchant Interface. Then you will start receiving the transHashSHA2.


You can refer to this hash upgrade guide for more details:



Hope this Helps!



Authorize.Net Expert Authorize.Net Expert
Authorize.Net Expert

@kikmak42I have followed that document and obtained a signature key already.  If I go to Account -> Settings -> API Credentials & Keys, I see: "Signature Key Last Obtained: 02/22/2019 10:43:00"


Additionally, when I obtained the key, it did provide me with the 128-char hex string key.


Unfortunately, after following the steps outlined in that document, I am still not getting transhHashSha2 in my responses.



Another update...

As stated previously, I am using the API here to charge a customer profile (previously stored card):


With some more testing, I found that using the API to charge an "ad-hoc" card (not using CIM profiles), I DO get the transHashSha2 value in that response:


Is it expected that charging cards stored in customer profiles NOT return the new transHashSha2 value?

Hello @mroberts 


I've escalated this to a support specialist working on the MD5 project.



Worked fine for me.  Are you sure you used Admin and not live or using the live login id/transaction key?

Regular Contributor

@mroberts  We've duplicated the issue you reported where transactions using customer profiles are not returning teh SHA2 response.


I recommend subscribing to this topic so that you'll be alerted via email for updates. To subscribe, click Topic Options at the top of this thread and then select Subscribe. You'll then receive an email once anyone replies to your post.



Ah! It is the Customer Profile version.  I accidently clicked on some different menu item and went back and tried a regular charge.


Thanks @RichardH 


Regular Contributor

Thanks @RichardH!  What are the odds this gets fixed in sandbox by March 7 or production by March 14?  Trying to figure out what our options will be when the MD5 is no longer returned.