Network Merchants Incorporated (NMI) provides payments enablement technology that empowers ISOs, VARs, ISVs and payment facilitators to offer branded payment gateway services without building or maintaining their own technology. NMI software engineers have built a security-focused, feature-rich, omni-channel payment gateway platform that partners can brand—completely and transparently—so that NMI doesn’t appear in their customer views. With Headquarters in Roselle, Illinois, NMI is the operating trade name of Network Merchants, LLC.
Chargent Payment Processing for Salesforce already has a connection to NMI, giving you the ability to manage and send transactions to NMI from Salesforce. The integration connects the NMI payment gateway directly to your customer records Salesforce.
In this section and the next, you’ll find the procedures for configuring the integrations for both NMI and Salesforce. It’s important to follow each of the steps carefully, and in the correct order.
As shown in the NMI documentation, credentials are available for testing your integration. This includes the following username and password:
You’ll also want to contact NMI to obtain a merchant account and get credentials for a production account. Many payment companies resell NMI as their payment gateway, so you may also receive credentials from a NMI partner.
It’s essential that you get these credentials for the production account:
NOTE: You must obtain these gateway credentials from NMI before moving on to the steps in the next section, Setting Up Salesforce For Integration
Follow these instructions for configuring NMI for integration with Salesforce:
You’ll also need to register for a production account. Use the contact information in the enrollment email messages to work with NMI Support and obtain the same set of credentials for your production account.
This section contains the procedure for setting up Salesforce for the integration with NMI.
Follow the steps below to configure Salesforce to integrate with NMI:
|Gateway Page Field||NMI Credential|
|Gateway Name||Enter a easily recognizable name for this gateway.|
|Merchant ID||Username, from your enrollment email message|
|Merchant Security Key||Password, from your enrollment email message|
This section contains the procedure for testing the integration that you set up according to the procedure given in Setting Up Salesforce For Integration, using your NMI sandbox credentials.
Follow the steps below to ensure that the integration is correct.
|Card Type||Card Number|
|Routing Number||Account Number|
|AVS Result Code||AVS Result Definition|
|X||Exact match, 9-character numeric ZIP|
|Y||Exact match, 5-character numeric ZIP|
|D||Exact match, 5-character numeric ZIP|
|M||Exact match, 5-character numeric ZIP|
|A||Address match only|
|B||Address match only|
|W||9-character numeric ZIP match only|
|Z||5-character ZIP match only|
|P||5-character ZIP match only|
|L||5-character ZIP match only|
|N||No address or ZIP match only|
|C||No address or ZIP match only|
|G||Non-U.S. issuer does not participate|
|I||Non-U.S. issuer does not participate|
|R||Issuer system unavailable|
|E||Not a mail/phone order|
|S||Service not supported|
|O||AVS not available|
|B||AVS not available|
|AVS Result Code||AVS Result Definition|
|N||CVV2/CVC2 no match|
|S||Merchant has indicated that CVV2/CVC2 is not present on card|
|U||Issuer is not certified and/or has not provided Visa encryption keys|
When Chargent is installed in a Salesforce Sandbox, transactions are always sent to the payment gateway's test / sandbox / development environment, regardless of whether Chargent's Test Endpoint checkbox is checked. This is done as a security precaution, to prevent real transactions from being accidentally sent from a Salesforce Sandbox.
When Chargent is installed in a production or developer Salesforce org, the Test Endpoint checkbox on the Gateway record will select between sending to the payment gateway's live and test environments. (There are a few exceptions, such as Stripe, which has a single endpoint to send transactions to, and different credentials for live versus test transactions).
If you wish to send live transactions from a Salesforce Sandbox, as a final step in testing, simply use Chargent's Endpoint Override field on the Gateway record, and enter the production endpoint of your chosen gateway there.
Here is the production endpoint URL for Chargent's integration with Network Merchants NMI:
Note that the full endpoint URL must be entered in the Endpoint Override field, and the domain must be present in the Remote Site Settings (for standard Chargent integrations it should be already present).
When a transaction occurs between Chargent and the NMI gateway, a new transaction record is created. The listing of transactions can be found in the Transaction section near the bottom of the Chargent Order page (or Opportunities or Cases, if you are using those packages). See the figure above.
Click a Transaction ID link to see the details, as shown in the figure below. This transaction record contains the entire set of data that NMI sends in its response, including transaction Type (Charge, Authorize, Refund or Void), the Response Status (Approved, Declined, Error).
The Gateway Date is the timestamp for the submission to NMI, and the Gateway ID field corresponds to the NMI Transaction ID for use in reconciliation between two systems.
You can compare the transactions in Salesforce with your NMI administrative app to search for transactions and generate reports.
Access your NMI administrative test account information to view your test transactions and generate reports, if necessary.
Login to your test account using the test username and password. Then, as shown in the figure, click the Reports item in the menu on the left
In the Reports page, choose a Group By category, then choose a Start Date and End Date, and then click the Submit button.
On the Transaction Snapshot page, you’ll find a listing of test transactions matching the date/group criteria from the previous step.
As shown in the figure above, click the small spyglass icon on the line containing the transaction you want to inspect, and then click View these Transactions.
Click the ID of the transaction you want to inspect to view its details, as shown in the figure below.
This table contains the mapping information between NMI and Salesforce fields.
|Salesforce field||Direction||NMI field|
|Invoice Number||>||Order ID|
This section contains the procedure for configuring the integration in a production system.
NOTE: Do not proceed here until the testing procedure described in Testing the Integration is successful.