Integrating Moneris with Salesforce using Chargent
Easily connect Moneris and Salesforce with Chargent,the leading payments app on the Salesforce AppExchange. See all Moneris transactions, manage refunds, send payment links and more, all inside Salesforce.
Contact us for a no-obligation 30 day trial, and see for yourself!
- Prior to setting up Moneris in Salesforce
- Setting Up Salesforce For Integration with Moneris
- Add a Moneris Gateway record in Salesforce using Chargent’s Gateway Wizard
- Add a Moneris Gateway record in Salesforce (Chargent versions prior to 5.40)
- Testing the Integration
- Understanding Transactions
- Sending Live Transactions from a Salesforce Sandbox
- Going Live
- Field Mapping
Moneris Gateway (formerly known as Moneris eSELECTplus) is one of North America’s leading payment processors. Moneris processes more than 3 billion credit and debit card transactions per year for over 350,000 merchant locations in Canada and the United States.
Integration with Chargent allows the ability to provide a seamless process for completing payment for processes managed in Salesforce. The integration utilizes Moneris’ eCommerce module to accept major credit card payments in U.S. and Canadian dollars. Chargent provides for separate gateways for processing U.S. and Canadian dollars. In addition ACH transactions, including utilizing tokens, can be processed by U.S. gateways but not Canadian gateways. Canadian gateways can accept Interac Online payments but U.S. gateways cannot (Please note: Chargent does not currently support the Moneris Interac integration.)
Prior to setting up Moneris in Salesforce
- Install both the Base Package and the Chargent Orders Transaction Package of Chargent into your Salesforce org.
- Configure Chargent according to the Quick Start Guide.
For Chargent versions prior to 5.57 you may need to activate the Remote Site Settings in Salesforce if they aren’t already active for Moneris. Moneris has different Remote Sites based on the US or Canada and live vs test environments.
- Click the gear icon on the top right and select Settings
- Under Security select Remote Site Settings
- Locate Moneris_US_Test and/or Moneris_CA_Test and click edit
- Check the Active box
- Click Save
- Do the same for Moneris_US and/or Moneris_CA
Setting Up Salesforce For Integration with Moneris
- Log into your Moneris developer account, or register for one.
- Copy your Store ID and your API Key by clicking on the profile pic and scrolling down.
make sure the CVD feature is enabled on your Moneris account. You would need to speak with Moneris support or your sales representative to get it enabled.
Add a Moneris Gateway record in Salesforce using Chargent’s Gateway Wizard.
- Click on the App Launcher on the top left side in Salesforce.
- Select Chargent as the App
- Select the Chargent Settings Tab
- Choose Chargent Setup Wizard
- Do you have a Payment Gateway account - Select Yes
- Select Moneris as your Payment gateway.
- Select Test Transactions for testing or Live Transactions if you are looking to process real time payments.
- Follow the prompts to configure your gateway.
You will need the following information:
- Add your credentials based on your Sandbox (Test) or Production Live Moneris account.
- Store ID: This is your Store ID
- API Key This is the Moneris API Key
Other information that will be asked:
- Will you be using tokenization? (recommended)
- What currency will you be using? (USD, CAN, etc.)
- What payment methods will you be accepting?
- Credit cards and/or ACH (electronic check - US Moneris gateway only))
- What Credit Card types will you be accepting? (Visa, Mastercard, etc…)
- Payment Console Setup (Premium feature for Platform Edition)
- Show Charge Button
- Show / Create Update Token Button
- Show Authorize Button
Add a Moneris Gateway record in Salesforce (Chargent versions prior to 5.40)
- Click on the AppLauncher on the top left side in Salesforce.
- In the Search for apps or items box, Search for Gateways and select
- Click New and select Moneris US or Moneris CA as the Gateway Type
- Map the following fields in Chargent with your credentials from Moneris:
- Merchant ID: Moneris Store ID
- Merchant Security Key: Moneris API Key/li>
- Check the Active box - To make the Gateway active
- Use Tokenization - If you are planning on using Moneris tokenization (recommended)
- Available Card Types - Select the cards you will be accepting (this is based on your gateway settings and what card types they can process - Visa, Mastercard, American Express, etc..)
- Available Payment Methods - Will you be accepting just Credit Cards or ACH also (US Moneris gateway only)
- Available Currencies - What currencies will you accept (this is based on your payment gateway and the currencies they accept payment in.
- Credit Card / Bank Account Data Handling - This lets Chargent know when to clear the information in Salesforce. You have 4 options.
When using Payment Requests or Payment Console the following should also be set. Please note these features come with Sites and Platform edition & require activation in your Production Org.
- Available PR Transaction Types
- Charge Full Amount - Charges the credit card immediately
- Authorize Full Amount - This option won’t charge the card but only holds the funds available until you capture them.
- Authorize Minimum Amount - This option won’t charge the card but only holds the minimum amount that your gateway will allow. You will need to charge the correct amount in order to capture the transaction
- Show Charge Button
- Show Authorize Button
Your Gateway page should look similar to the figure below. Click the Save button to commit your changes.
Testing the Integration
This section contains the procedure for testing the integration set up in Setting Up Integration, using Moneris’ test credentials in Salesforce. You can either use the Store ID and API Key that is in your Moneris account or you can test using Moneris standard test credentials.
- Setting up a Moneris Gateway using the Gateway Setup Wizard
- Setting up a Moneris Gateway using versions prior to 5.40
US Test Credentials
|Store ID||API Token||Username||Password|
|monusqa024||qatoken||demouser||abc1234||For testing ACH Transactions only|
|monusqa024||qatoken||demouser||abc1234||For testing both ACH and Credit Card Transactions|
Canada Test Credentials (Credit Card Only)
|Store ID||API Token||Username||Password|
|moncaqagt1||mgtokenguy1||demouser||password||Use this store to test Token Sharing|
Now that you have created the Moneris gateway record in Salesforce, it is time to run some test transactions to ensure it was set up correctly, and understand how Chargent works to charge credit cards within Salesforce.
Create a Chargent Order in Salesforce to run test transactions
- Click on the App Launcher in the top left side and select Chargent as the App.
- Click the Chargent Orders Tab.
- Click on New
- Enter in the following information:
- Account: The Account the Chargent Order should be associated with.
- Payment Type should either be credit card or check depending on if you are testing credit cards or ACH (electronic check)
- Billing Information
- Billing First Name
- Billing Last Name
- Billing Address
- Billing City
- Billing State / Province
- Billing Zip Code / Postal Code
- Billing Email Address (if you want to test the email receipt that gets triggered upon a successful transaction)
- Charge Amount- The charge amount determines the test results whether you have an approved transaction or a declined transaction.
- Manual Charge checkbox to enter a specific amount. If you are entering Subtotal, Tax, and Shipping then the Charge Amount will be automatically calculated and the Manual Charge box does not need to be checked).
- Credit Card Number = See Moneris test credit card information. Moneris uses different test credit card numbers to determine the response message and whether it’s approved or declined. For ACH testing see Moneris’s Test ACH Account and Routing Numbers.
- Card type (Visa, MasterCard, etc..) or Bank Account Type for ACH (Checking or Savings).
- Card Expiration Month and Card Expiration Year should be in the future
You should receive a popup that shows the test transaction was approved.
Test Credit Card Numbers:
|Credit Card Type||Card Number|
Test ACH (US Only):
|ACH Field||Test Values|
|Bank Name||Federal Reserve Bank|
|Account Number||Any number between 5 and 22 digits|
|Check Number||Any number|
When a transaction occurs between Chargent and the Moneris gateway, a new transaction record is created in Salesforce. The listing of transactions can be found in the Transaction section under the Related tab.
On the Related tab, 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 Moneris sends in its response, including the transaction Type (Charge, Authorize, Refund or Void), the Response Status (Approved, Declined, Error), and any related approval or error messages.
Sending Live Transactions from a Salesforce Sandbox
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 Moneris (CA):
Here is the production endpoint URL for Chargent's integration with Moneris (US):
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).
This section contains the procedure for making the integration available for production systems. This procedure should not occur until the testing procedure described in Testing the Integration is successful.
- Obtain production Moneris account’s Store ID and API Key.
- Repeat Setting Up Moneris Gateway using production Store ID and API Key.
- Setup a Moneris Gateway using the Gateway Setup Wizard
- Setup a Moneris Gateway versions prior to 5.40
You should test at least one real credit card transaction, and one real ACH transaction using company or personal accounts, before going live with your Chargent system..
Note: You can void the transaction after testing by clicking into the Transaction Record and clicking Void, so it does not settle.
Chargent supports Moneris customer code tokens, which allows future transactions to be executed without the need to store sensitive credit card or bank account numbers in Salesforce.
This tokenization feature is essential in limiting the scope of PCI compliance for your organization. Because Moneris securely stores sensitive credit card account numbers, it will return a customer token which can be used to process payments. This allows you to clear the credit card information in Salesforce. The token will only work with Moneris Payments for that customer.
Chargent stores the Moneris token in the Token field, which does not need to be encrypted so the Token can be copied to new Chargent Order from the same payment details, or even integrated with other systems that may connect to Moneris Payments.
Chargent can also automatically delete credit card and account numbers from Salesforce upon a successful transaction and creation of a customer code token.
To enable Moneris Payments Customer Code Tokens for Payments in Salesforce:
- Click the App Launcher on the top left
- Search and select Gateways
- Click on the Moneris gateway record
- Click Edit
- Check the Use Tokenization checkbox
- Set the Credit Card Handling field (unless you are using Payment Console)
- Never Clear: Chargent will not remove any card data automatically.
- Clear After Successful Charge: Chargent will clear the credit card number, expiration dates and card security code only after a successful charge is run.
- Clear After All Transactions: The credit card number, expiration date and card security code will be erased after any transaction (Charge, Void, Refund)
- Clear When Token Present: Only when a token is present in the token field, will the credit card number, expiration date and card security code be cleared.
The optional Payment Console feature available in the Platform Edition of Chargent can create Moneris tokens without ever saving sensitive data to the Salesforce database, greatly reducing PCI Compliance scope.
Moneris returning "Cancelled: Transaction not allowed.No permission for:'cvd_info’"
If you are receiving the error message:
Transaction not allowed.No permission for:'cvd_info'
With the Moneris payment gateway, this is a setting on the Moneris side. The solution is to make sure the CVD feature is enabled on your Moneris account. You may need to speak with Moneris support or your sales representative to get it enabled.
Moneris returning "SQL Problem”
If you are receiving the message back from Moneris of “SQL Problem”, this is generally an issue with your credentials.
Check that you have the correct Moneris Store ID entered in the Salesforce Gateway Merchant ID field, and correct Moneris API Key entered in the Salesforce Gateway Merchant Security Key.
You should also check that you have selected the correct record type for your integration (Moneris Canada or Moneris United States).
If problems persist, please contact Moneris for additional assistance.
This section contains mapping information between Moneris and Salesforce fields.
|Gateway ID||<||Order ID|
|Order Source: ecommerce||>||WEB|
|Order Source: Corporate Cash Disbursement||>||CCD|
|Order Source: Prearranged Payment and Deposit||>||PPD|