Integrating iATS and Salesforce using Chargent

iATS Payments
Connect iATS and Salesforce with Chargent

See all iATS transactions, manage refunds, send payment links and more, all inside Salesforce with Chargent, the top rated payments app on the Salesforce AppExchange.

Not yet a Chargent customer?

Contact us for a no-obligation 30 day trial, and see for yourself!


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 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 Chargent Order (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

Prior to setting up iATS in Salesforce

  1. Install both the Base Package and the Chargent Orders Transaction Package into your Salesforce org.
  2. Configure Chargent according to the Installation and Setup Guide.

Setting Up Salesforce for Integration with iATS

For testing, you can either use your own test credentials with iATS or setup your gateway using the test credentials iATS provides:

User ID: TEST88
Password: TEST88

Add an iATS 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
  • Select Yes when asked if you have a Payment Gateway account.
  • Select iATS from the dropdown and follow the prompts to configure your gateway
    chargent settings
  • 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 iATS account.
    • User ID: This is your iATS User ID (Agent Code)
    • Password: This is the iATS Password

Continue through the Setup:

  • Use Tokenization? (recommended)
  • Select your Payment Gateway Currency (USD, CAD, etc..)
  • Do you want to use Payment Console? (Requires Platform Edition and higher)
  • Select the Payment Methods you accept
    • Card: Credit Cards you will be accepting? (Visa, MasterCard, etc…)
    • Bank Account: If your Gateway allows for bank account transactions, you should set the Direct Debit Network to ACH for iATS.
    • ACH Validation (optional – disable if you are not using Lyon’s Validation): If you use Lyons ACH verification, you should enable this feature to validate ACH transactions. The ACH Validation feature works with Lyon’s ACH Validation service to validate the bank account and store the validation in your Salesforce Org. During your Gateway Setup, you will authenticate your Lyons credentials, and Chargent uses a referral relationship for all first-time transactions. For more information about implementing validation for your ACH transactions, see our ACH Validation documentation. Select payment methods
  • Setup your Payment Console (Premium feature for Platform Edition)
    • Show Charge Button
    • Show / Create Update Token Button
    • Show Authorize Button
  • Will you be using recurring, scheduled, or installment payments? Do you want to set up Chargent Recurring Billing for subscription billing.
    • If Yes, you will be prompted to select the time. Chargent recommends 3am but you can choose no and select the days and times of the week for the batch to run.

Congratulations! You successfully configured a new gateway. Now you can easily start payments.

Direct Debit Network

You can select the Bank Account network for your region during the gateway setup process. iATS uses the ACH Network. This will allow for the correct Direct Debit Network fields to be displayed on Payment Requests and Payment Console based on your region.

You should choose ACH – US (Direct Debit Network for iATS is available in the US only).

Once you have your Direct Debit Network set, you will see the appropriate field names on your Payment Request that are sent as well as your internal Payment Console.

Testing using Chargent Anywhere

Testing with Payment Console

To test using the Payment Console, you want to navigate to any record in your Sandbox that has the Chargent Anywhere Component enabled.

  1. Click the [PaymentConsole] button
  2. If you are using multiple gateways select your gateway from the dropdown otherwise continue to step 3
  3. Enter all the Billing Information and click [Next]
  4. Enter in a test credit card number, expiration date, and CVC code based on the iATS test credit cards below. If you are testing ACH you can use the iATS Bank Account test numbers.
  5. Click the [Charge] button.

You should receive a green box showing Approved.

Approved IAts

Testing using Payment Request

To test using a Payment Request you want to be sure you have the Chargent Payment Request feature set up as outlined in our documentation.

  1. Click the [Send Payment Request] button
  2. If you have multiple Payment Request templates set up you will first choose what template you want to use.
  3. Enter an email address where you want to send the test Payment Request along with any amount.
  4. Enter a Contact name (Optional)
  5. Click the [Send Request] button

Send Payment Request

When you receive the email, click the secure link for the Payment Request. Use one of iATs credit cards or bank account testing numbers to complete the payform and submit the payment.

Card Bank Payment

You should receive a green box confirmation

Card Bank payment

iATS Payments Test Cards

Credit Card Type Card Number
Visa 4111111111111111 – Allows you to test both Authorizations, Charges, and Rejections based on specific amounts listed below.
Visa 4222222222222220 – Allows you to test Authorizations, Charges, and Refunds using any amount.
MasterCard 5111111111111118
American Express 371111111111114
Discover 6011111111111117
CVV2 Any arbitrary 3 digits (4 digits for Amex)
Expiry Date Any arbitrary date later than today’s date

iATS Test Amounts

Amount: Response
$1.00 OK: 678594
$2.00 REJ: 15
$15.00 If CVV2 = 1234 the response is OK: 678594: Y If no CVV2 is entered the response is REJ: 19
$16.00 REJ: 2
$17.00 REJ: 22
$192.00 (NA Only) If sent via API (iATSLink or WebService)

  • a) IP address is invalid format: Rej: 5.
  • b) IP address is valid format: OK: 678594
All Other Amounts REJ: 15
All Refunds Amounts REJ: 15
Any Sale Amount OK: 678594

iATS ACH Testing

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:

Bank Number 123
Transit Number 00000
Account Number 123456
Routing Number 111111111
Account Number 12345678

Understanding Transactions

When a transaction occurs between Chargent and the iATS 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 iATS 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.



By altering the amount in the Charge Amount field in Salesforce, you can trigger different responses from the iATS Payments test environment.

Lists of responses can be found here:

Sending Live Transactions from a Salesforce Sandbox

When Chargent is installed in a Salesforce Sandbox, transactions are typically 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, checking the Test Endpoint checkbox on the Gateway record will route transactions to the test environments provided by the gateway.

Note: Some gateways use the same endpoint for live and test environments. For these gateways, the Chargent application does not prevent live transaction processing. As such, it is best practice to deactivate your live gateway records in orgs used for testing.

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).

Going Live

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 add a new Gateway record in Salesforce with the production credentials provided by iATS Payments. Make sure that either your test gateway is deactivated otherwise you will need to select the correct gateway in the Chargent Order.

Setup iATS using the Gateway Wizard
Setup iATS in Chargent version 5.40 and earlier

You should always test a live transaction with a real credit card, just to make sure everything is working smoothly, prior to going live with Chargent. Run small dollar amount transactions, and VOID them immediately after, so there are no settled charges. 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 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 Chargent Order from the same donor, or even integrated with other systems that may connect to iATS Payments.

This tokenization feature is essential in limiting the scope of PCI compliance for your organization. Because iATS 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 iATS Payments for that customer.

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 Chargent Order from the same donor, or even integrated with other systems that may connect to iATS 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 iATS Payments Customer Code Tokens for Payments in Salesforce:

  • Click the App Launcher on the top left
  • Search and select Gateways
  • Click on the iATS 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 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.

Field Mapping

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 Direct Debit / ACH payments through iATS Payments directly from Salesforce.

If you need help or have questions, please contact us.