JimEff Posted September 18, 2018 Share Posted September 18, 2018 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 More sharing options...
bsmither Posted September 18, 2018 Share Posted September 18, 2018 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 More sharing options...
JimEff Posted September 19, 2018 Author Share Posted September 19, 2018 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 More sharing options...
bsmither Posted September 19, 2018 Share Posted September 19, 2018 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.