How to Setup Your MerchantPlus NaviGate Account with ZenCart
ZenCart is a popular open-source based eCommerce platform.  Many hosting companies provide ZenCart as an install-able option with their hosting packages or you can download and install the product from the ZenCart website.  Setting up your ZenCart-based eCommerce website to work with NaviGate is quick and easy.  And, with the MerchantPlus Starter account, you can offer fully-integrated credit card payments on your own website with no monthly fee.  Learn more or create your account here (instant signup) and then come back to follow this guide on how to configure the Authorize.net module within ZenCart to work with NaviGate.
Setup Time: 5-10 Minutes
Step 1 - Configure API Settings
First, login to your NaviGate portal, located at https://gateway.merchantplus.com/ using the login credentials you received when your account was setup.  Then, quickly browse to the Profile & Settings section of the gateway interface.  This is where you'll configure the important bits about getting NaviGate to work with your shopping cart, as well as any email receipts or reports you want to receive via email.  You should see several sub categories on the left hand menu, but for now you can edit the settings on the main page, including:  Live/Test Mode, what email receipts are sent FROM, which email to receive administrative settlement reports and if you'd like to send customer receipts.  Please note: you must still configure email receipts under the sub menu called Email Notifications.
Scroll down to the API Settings section and click on "Edit".  Then, ensure the response is set to be delimited.  We recommend using the pipe (" | ") character as a delimiter and leaving the encapsulation character blank.  Click to save these settings.
Step 2 - Generate a Transaction Key
After you've configured the API settings of NaviGate, you need to generate a transaction key.  The transaction key is like a password to be used by your shopping cart when authenticating transactions it is sending to the NaviGate API.  You can only have one active transaction key at a time, so if you regenerate the transaction key, you'll need to update your ZenCart configuration.
Click to the Security sub menu and click on the "edit" button next to the Transaction Key section.  It will give you the option to generate a new transaction key -- click to generate a new key and then copy the key that NaviGate provides to you.  You should save it on a notepad or text file while you finish your configuration.
Step 3 - Edit ZenCart's Authorize.net AIM Integration File
Now, for the most complicated part!  Power up your text editor or code editor of choice.  You may also have a web-based file editor as part of your hosting control panel, which you can also use.  Browse to the includes -> modules -> payment directory and open the file called authorizenet_aim.php.  Please note: there is also a file called "authorizenet.php", ignore this one as it is used for the SIM (Simple Integration Method) and NaviGate supports emulation of the Authorize.net AIM (Advanced Integration Method) mode only.  Scroll to line 46 or search for the variable "var $delimiter".  Update it to match the following:
var $delimiter = '|';
Do the same for the delimiter filed right below this section and update it to match the following:
var $encapChar = '';
After this, you'll want to scroll down to line 520 or search for the phrase "set URL".  Update the following 4 lines as follows:
$url = 'https://gateway.merchantplus.com/cgi-bin/PAWebClient.cgi'; $devurl = 'https://gateway.merchantplus.com/cgi-bin/PAWebClient.cgi'; $dumpurl = 'https://developer.authorize.net/param_dump.asp'; $certurl = 'https://gateway.merchantplus.com/cgi-bin/PAWebClient.cgi';
Save the file and, if necessary, upload it to your hosting account.
[caption id="" align="alignnone" width="300"] Adjust the Delimiter and Encapsulation Characters[/caption] |
[caption id="" align="alignnone" width="300"] Adjust the Post URL to use NaviGate[/caption] |
Step 4 - Enable and Adjust the Module in ZenCart Admin
The last part of the setup is to enable the module in your ZenCart administration area.  Login to the ZenCart admin (usually, www.yoursite.com/admin/ or www.yoursite.com/zc_admin/) and then click to Configuration -> Credit Cards section.  Click to enable the active credit cards you will be offering.  MerchantPlus sets customers up with Visa, Mastercard, and Discover by default.  AMEX is generally enabled upon request so please check with us if you have any doubts.
Next, click to the Modules -> Payment section.  Click to enable the Authorize.net (AIM) module and then click again to edit the settings for this module.  You'll need to set the following fields, at a minimum:
- Login ID - This will be your NaviGate username, the same as what you login with in the NaviGate portal (https://gateway.merchantplus.com/)
- Transaction Key - Copy and paste the transaction key that you generated in Step 2.  Make sure there are no trailing spaces.
- Authorization Type - Choose either Authorize or Authorize+Capture.  If you choose Authorize, you'll need to manually settle each transaction.  As long as you fulfill your goods or services quickly, most merchants choose Authorize+Capture.
You should set the rest of the options to your desire, including the order of the payment module and if you want to send transaction emails, etc.
Step 5 - Test it!
You've now done all the necessary steps to activate NaviGate within your ZenCart shopping cart using the Authorize.net AIM payment gateway module.  You should now test the  integration thoroughly.  Our suggestion is to first put the gateway into TEST mode and then use our pre-defined test cards to ensure the configuration is working properly.  You can view our help guide on testing with NaviGate here.  Then, put things into LIVE mode (both in NaviGate and the ZenCart module) and test a transaction using a live card.  You can then login to NaviGate and void the transaction so it doesn't end up settling.
If you have any questions or problems setting up your ZenCart shopping cart installation with your NaviGate or Authorize.net gateway, please simply contact the MerchantPlus support team and we'll be happy to assist you.