Integrating iATS Payments and Salesforce using Chargent
iATS Payments provides payment processing services to more than 10,000 nonprofits worldwide. This exclusive focus enables iATS Payments to empower and serve their nonprofit clients.
In addition, iATS Payments provides extensive international capabilities to nonprofits for credit card and direct debit donations in more than 35 countries, as well as the ability to settle in dozens of currencies for nonprofits who have registered offices in the country of a local currency.
With Chargent Payment Processing for Salesforce's prebuilt iATS Payments integration, nonprofit organizations can now connect Salesforce to iATS Payments in just a few steps. Nonprofits can then take advantage of Chargent's many features for automating and streamlining payment processes in Salesforce:
- Flexible recurring billing capabilities for donations
- See all donations and total amount given per donor at a glance
- Embedded buttons in the Opportunity (Donation) for one-time or new donation processing
- Real-time payment results for phone pledge drives at the click of a button
- Send Payment Request emails for donors to make a payment or update billing details
Plus additional benefits:
- Control donation receipts and other communication with the power of Salesforce templates and workflow rules
- Easy connection to iATS Payments services with no additional transaction fees
- FormAssembly integration for easy web site donation forms
- Install both the Base Package and 1 of 3 Transaction Packages of Chargent Payment Processing for Salesforce into your Salesforce org.
- Choose Chargent Orders, Opportunities (SFA), or Cases for the second piece that you install, which determines where the Chargent billing fields live in Salesforce.
- For nonprofit organizations using the Nonprofit Starter Pack, you should choose the Opportunities (SFA) package, as this installs credit card fields into the Opportunity (Donation) object in Salesforce.
Configure Chargent according to the documentation.
- Chargent is a paid application, but there is a 30 day free trial, no signup required. You can also install Chargent into your Salesforce Sandbox for an extended development period.
- Chargent is billed on a per-user per year basis, with a minimum user count. Only the Salesforce users who need to process payments or see the transaction or financial reports need a license.
- Chargent does not charge any transaction or percentage fees. We provide a direct connection between your Salesforce account and iATS Payments, so you only pay the iATS Payments processing fees.
- Chargent offers generous discounts for nonprofit organizations, please contact us for details.
- If you have any questions, we are here to help. Just email us on our support site (best for error messages or complex configuration questions) or call 415-275-1115 x2
Create an iATS Payments Gateway Record in Salesforce for testing
- Switch to the Chargent app in Salesforce (top right corner menu)
- Go to the Gateways tab (click the + beside the tabs if you don't see it)
- Click New
- Select iATS Payments as the record type from the drop-down list of Salesforce payment gateway integration options that Chargent provides
Fill out the iATS Payments gateway record in Salesforce as follows:
- Gateway Name: Your choice, for example "iATS Payments Test"
- Merchant ID: TEST88
- Merchant Security Key: TEST88
- Active should be checked
- Click Save
Create a test record in Salesforce to run some test credit card transactions
iATS Payments Test Cards
- This will help you understand how Chargent works within Salesforce, and test to ensure that Salesforce is setup correctly to connect to the iATS Payments gateway.
- Create a New Chargent Order, Opportunity, or Case record (depending on which of the 3 Chargent Transaction packages you installed).
- Enter data in the following fields:
- Billing First Name, Billing Last Name, Billing Address, Billing State, Billing Zip, Billing Country
- Billing Email
- Amount (or Total if using Chargent Orders)
- Payment Type
- Card Type
- Card Number, Card Expiration Month, Card Expiration Year (see below for test cards)
- Optional fields
- Order Information
- Invoice Number
- Currency (for testing leave blank but you can later set to other currencies if your iATS Payments account is configured for them)
|CVV2||Any arbitrary 3 digits (4 digits for Amex)|
|Expiry Date||Any arbitrary date later than today's date|
- Visa 4111111111111111 is for testing Authorization and Rejection of Charges.
- Visa 4222222222222220 is for testing Authorizations of Charges and Refunds.
Click the Charge button
- You will receive a popup window stating the test transaction results
- After you click OK in the dialog box, the Salesforce page will refresh
- You can then view the Transaction details from the related list near the bottom of the page in Salesforce.
iATS Payments ACH / Direct Debit testing
Understanding iATS Test Responses
- For North American ACH / Direct Debit testing, any bank details can be used in the Chargent fields in Salesforce, but the following test data is recommended:
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 iATS:
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).
Once you have completed some test transactions to see how Chargent works, you are almost ready to go live.
You may wish to set up a daily recurring batch as a test if you will be doing recurring or subscription billing, to be sure that it is configured properly and behaves as you expect before going live with real customer subscriptions.
In addition, at this point you can complete any customizations to the Chargent system or Salesforce configuration you might want to do, such as workflow automation, email template customization, triggers, etc.
To process real transactions with iATS Payments from Salesforce, you will need to modify the Gateway record in Salesforce with the production credentials provided by iATS Payments.
To set up Chargent and Salesforce to go live, simply do the following:
Edit the iATS Payments gateway record in Salesforce as follows:
If you wish to retain the old test gateway record for future testing, alternately you can create a new Gateway record for the live credentials. Just be sure to uncheck Active on the old gateway, so live transactions are not sent through it.
You may wish to test a live transaction with a real credit card, just to make sure everything is working smoothly.
- Gateway Name: Your choice, for example "iATS Payments Test"
- Merchant ID: User ID (Agent Code)
- Merchant Security Key: Password
- Active should be checked
- Click Save
- Run small dollar amount transactions, and VOID them immediately after, to minimize any impact
- Using your own or company credit cards for live tests is recommended, as customers could still see notifications of a charge even if voided
- Note that Transaction fees are incurred in the live environment, so any testing should be kept to a minimum
Chargent supports iATS Payments 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, enabling you to not store sensitive account numbers in Salesforce. You can store customer code tokens which will only work at iATS Payments to connect you back to the account numbers that iATS securely stores, but which are useless otherwise (they are simply reference numbers and cannot be decrypted or reverse engineered to produce the original sensitive data).
Chargent stores iATS Payments customer code tokens in the Token field, which does not need to be encrypted so the Token can be copied to new Donations (Opportunities) from the same donor, or even integrated with other systems that may connect to iATS Payments.
Keep in mind that the customer code tokens are specific to iATS Payments system, so they cannot be used for transactions with other payment providers.
Chargent can also automatically delete credit card and account numbers from Salesforce upon a successful transaction and creation of a customer code token, or the optional Payment Console feature available in the Platform Edition of Chargent can create iATS Payments tokens without ever saving sensitive data to the Salesforce database, greatly reducing PCI Compliance scope.
Please contact us for additional information on security and PCI compliance options for Salesforce.
To enable iATS Payments Customer Code Tokens for Payments in Salesforce:
- Check the Use Tokenization checkbox in the iATS Payments Gateway record in Salesforce
- 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 iATS Payments Customer Code token is stored in Chargent's Token field in Salesforce after your first successful transaction, and the credit card fields are handled as you specified in the preceding step.
Here are some useful fields and their mappings between the Chargent software in Salesforce and the iATS Payments system.
|Salesforce || Direction || iATS Payments|
|Gateway ID || < || Transaction ID|
|Token || < || Customer Code|
|Order Information|| > || Comment|
|Invoice Number|| > || Invoice Number|
You have now completed the integration of Salesforce and the iATS Payments service with Chargent. You can begin processing one-time or recurring credit card and ACH payments through iATS Payments directly from Salesforce.
If you need help or have questions, please contact us.