Jump to content

Authorize.net Emulator URL


JimEff

Recommended Posts

I have added the Authorize.net extension for checkout but I am actually dealing with a 3rd party called NMI to get into the portal.

I need to change the URLs for test and live accounts to go through for access.  Can you tell me where these would be found to replace?

Our NMI Gateway Emulator URL is:

AIM: https://secure.nmi.com/gateway/transact.dll
SIM: https://secure.nmi.com/cart/ausi.php

You will need to change any production and test Authorize.Net URLs to one of the above URLs. The following URLs should be replaced:

https://secure.authorize.net/gateway/transact.dll
https://test.authorize.net/gateway/transact.dll
Link to comment
Share on other sites

Please open the following file for editing:

/modules/gateway/Authorize/gateway.class.php

Near line 26, find:

$this->_url = $this->_module['testMode'] ? 'test.authorize.net' : 'secure.authorize.net';

Change to:

$this->_url = $this->_module['testMode'] ? 'test.nmi.com' : 'secure.nmi.com'; // Does NMI have a test server?

Save. Test.

To actually do this right, one would also need to rename the module's folder, edit the config.xml file, and change parts of the module's language file.

Link to comment
Share on other sites

This worked completely and I found out that NMI does no have a test URL.  I took it out of test and I am now hitting the secure.nmi.com gateway now.

Thanks for your help!  One step at a time.  I am failing authentication and I went to NMI support and they said that the password is NOT getting passed for authentication.

They told me to fill in the "transaction key" with the password.  When I look at the code, a fingerprint (hash?) of several fields are passed in but not the password in SIM mode.

I actually just found another problem and corrected it.  The SIM mode is a different URL and I corrected that.  No I am authenticating but getting a Hash mismatch.

I would guess that NMI credentials are managed differently than Authorize.Net and that is why I need to change the config files and rename this to NMI Emulator or something?

Link to comment
Share on other sites

I would think that if NMI says to grab the Authorize.net module and to only change the contact web address, they would then be implying that everything else would be the same. Changing the module's name would not affect anything.

At NMI, you obtained a pair of codes. Assuming they have been entered correctly (hint: do not copy/paste as the copying by mouse very often captures white space in front of or after the actual codes), we can observe the module's function _getFingerprint():

hash_hmac(
"md5",
$api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^",
$transaction_key
);

Note the function has three arguments, the $transaction_key is used in the generation of the hash, but I do not know if the $transaction_key eventually gets sent along within the communication.

I would say no as NMI (Authorize) already knows that value. The other value (Transaction API Login key, sometimes aka Account Number) is sent in the POST package: 'x_login'.

Ok, I see that NMI has different URLs for SIM vs. AIM. (The accompanying paragraph removed the clarity of what the table was showing. That means, the module would need $this->_url and $this->_path to be updated -- best to add a test for SIM vs AIM.

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...