Integrating Moneris eSELECTplus with Salesforce using Chargent
- Setting Up Integration
- Testing the Integration
- Going Live
- Field Mapping
Moneris 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. Moneris handles Visa, MasterCard, American Express, Discover, INTERAC Direct Payment, and all POS solutions. Moneris’ eSELECTplus is an easy to use, multi-functional software application that processes card payment. eSELECTplus is accessed with a web browser eliminating the need for an application installation.
Integration with Chargent allows the ability to provide a seamless process for completing payment for orders managed in Salesforce. The integration utilizes Moneris eSELECTplus’ 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. The gateway will use different production and testing endpoints for communication with Moneris depending on whether U.S. or Canadian dollars are processed. 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.) See Setting Up Salesforce For Integration for additional information on the gateways.
Setting Up Integration
This section contains the procedures for setting up the integration between Moneris and Salesforce. Each subsection under this section contains a separate procedure, however, the procedures must be completed in the order presented.
Setting Up Moneris eSELECTplus For Integration
This subsection contains the procedure for setting up eSELECTplus for the integration with Salesforce. Note: This procedure must be completed before starting Setting up Salesforce.
Log into your Moneris developer account, or register for one.
Obtain a merchant account as described in step 1 of Getting Started. Note: A Merchant ID (Moneris Store ID) and Merchant Security Key (Moneris API Key) will be sent upon acceptance.
Setting Up Salesforce For Integration
This subsection contains the procedure for setting up Salesforce for the integration with Moneris.Notes:
- Setting Up Moneris eSELECTplus For Integration must be completed before starting this procedure.
- This procedure assumes Chargent has not been installed into Salesforce.
Install Chargent’s Gateway Package in Salesforce as described at Chargent Installation. Note: The production installation includes a free 30 day trial license. The sandbox installation has a free developer’s license.
Install one of Chargent’s Transaction Packages in Salesforce as described at Chargent Installation. Note: The Transaction Packages are Chargent Orders, Opportunities, or Cases.
Configure the basics of Chargent, such as assigning user licenses and updating page layouts. For more information please consult our Quick Start Guide.
Select Chargent app in upper right hand corner of Salesforce.
Click the Gateway tab.
Select Moneris (CA) or Moneris (US) record type. Please choose the one that corresponds to your Moneris account (Canada or United States). Click Continue.
Enter following fields:
- Gateway Name - Internal Salesforce name for gateway.
- Merchant ID - Moneris Store ID Retrieved in Setting Up eSELECTplus For Integration. Note: See Testing the Integration and Going Live for values.
- Merchant Security Key - Moneris API Key Retrieved in Setting Up eSELECTplus For Integration. Note: See Testing the Integration and Going Live for values.
- Gateway Name - Internal Salesforce name for gateway.
- Click Save.
Testing the Integration
This section contains the procedure for testing the integration set up in Setting Up Integration, using Moneris’ test credentials in Salesforce.
Note: Moneris provides shared values for its test environments.
The test values store1, store2, store3, or store5 can also be used for Merchant ID. “yesguy” can be used for the test Merchant Security Key.
Click on tab that corresponds to the Chargent Transaction Package that was installed during the Setting Up Salesforce procedure. For the purposes of this example, Order was installed.
Enter/select Subtotal / Amount, Gateway, Payment Information, Billing Information (including Email), and Credit Card fields, and click Save. Notes:
Use the following credit card numbers for testing with a future expiration date:
- MasterCard - 5454545454545454
- Visa - 4242424242424242
- American Express - 373599005095005
Diners - 36462462742008
Use the following values for approved test Subtotal values
- For Visa, use values between $11.00 to $49.99, $60.01 to $119.99, and $130.01 to $150.00.
- For MasterCard and Diners, use $0.08.
For American Express, use an amount ending in zero cents except for $5.00.
Use the following values for non-approved test Subtotal / Amount values
- For Visa, use
- 0.01 for “Call For Auth” response
- 0.02 for “Call For Auth/ Refer - Issue call” response
- 0.03 for “Declined/Merchant not on file” response
- 0.04, 0.07, and 0.41 for “Hold card/call/capture” response
- 0.05 and 0.06 for “Declined” response
- 0.09 for “Declined System problem/Retry/Duplicate transaction” response
- 0.12, 0.57, and 0.58 for “Declined/Invalid transaction” response
- 0.13 for “Declined/Invalid advice amount” response
- 0.14 for “Call For Auth/Ineligible account” response
- 0.15 for “Declined/Invalid destination” response
- 0.19 and 0.20 for “Declined/Unable to authorize” response
- 0.21 for “Declined System Problem /Retry/Unable to authorize” response
- 0.22 for “Declined - error 050” response
- 0.24 for “Declined/Unable to process” response
- 0.43 for “Hold card/call/capture; CAF status 3” response
- 0.51 for “Declined/Low funds” response
- 0.54 for “Declined/Expired card” response
- 0.61 for “Call For Auth/Over daily limit” response
- 0.62 for “Declined/Restricted” response
- 0.63 for “Declined Cannot Process/Retry/Unable to authorize” response
- 0.65 for “Declined/Number times used” response
0.68 for “System Timeout” response
- For MasterCard and Diners, use
- 0.01 for “Call For Auth Refer to Card Issuer” response
- 0.05 for “Declined Do Not Honor” response
- 0.14 for “Invalid Card Number” response
- 0.41 for “Hold Card/Call/Capture Lost Card” response
- 0.43 for “Hold Card/Call/Capture; CAF status” response
- 0.75 for “Allowable number of PIN tries limit exceeded - Maestro only” response
0.96 for “Invalid transaction, rejected” response
- For American Express, use
- 5.00 for “Transaction Not Approved DECLINED * DECLINED” response
- 5.07 for “Transaction Not Approved REFERRED* CALL AMEX” response
- 5.09 for “Transaction Not Approved DECLINED * INVALID MERCHANT” response
- 5.11 for “Transaction Not Approved DECLINED * ACCT ERROR-RETRY” response
- 5.15 for “Transaction Not Approved DECLINED * SERVICE ERROR” response
- Use the following credit card numbers for testing with a future expiration date:
Verify successful transaction and click OK.
- A Transaction record is created, containing the response messages and details received from eSELECTplus.
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 username and password.
- Repeat Setting Up Moneris eSELECTplus For Integration using production Merchant ID (Moneris Store ID) and Merchant Security Key (Moneris API Key).
- Repeat Setting Up Salesforce For Integration for production Salesforce.
- Repeat Testing the Integration for production integration using the production Merchant ID and Merchant Security Key obtained during Setting Up eSELECTplus For Integration, at least one real credit card transaction, and one real ACH transaction using company or personal accounts. Note: Void the transaction after test if needed.
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 United States).
If problems persist, please contact Moneris for additional assistance.
This section contains the procedure for setting up using the tokens that are passed between Chargent and eSELECTplus. Moneris eSELECTplus uses a token system in order to maximize security of the data.
Select Chargent app
Click Gateway tab in Chargent app.
Click on Gateway used for integration
Double click on Use Tokenization field.
Click Use Tokenization checkbox.
Double click on Credit Card Data Handling field.
Click on Credit Card Data Handling field and click on value. The results of the values are:
- Never Clear - Chargent will not automatically remove card data.
- Clear After Successful Charge - Chargent will clear the credit card number, expiration dates, and card security code only after a successful charge has occurred for the card.
- Clear After All Transactions - Chargent will erase the credit card number, expiration date, and card security code after any transaction (Charge, Void, Refund) has occurred for the card.
- Clear When Token Present - Chargent will erase the credit card number, expiration date, and card security code after any transaction (Charge, Void, Refund) for the card when a token is present in the token field.
- Click Save.
Note: The token is stored in Chargent's Token field in Salesforce after your first successful transaction, and the credit card fields are handled as specified in the procedure.
This section contains mapping information between eSELECTplus and Salesforce fields.
|Gateway ID||<||Order ID|
|Order Source: ecommerce||>||WEB|
|Order Source: Corporate Cash Disbursement||>||CCD|
|Order Source: Prearranged Payment and Deposit||>||PPD|