Apsona offers a connector to iATS payments
for credit-card payment
processing. Using this connector, you can process credit card payments for gifts in via Apsona's Batch Gift Entry tool
The connector offers the following functionality.
- When entering a gift as a batch item, you can include the credit card information alongside. When you save such a batch item, the connector makes a "place-holder"
charge on the card, and saves a corresponding token with the batch item.
- When the batch is committed, all of the "place-holder" charges in the batch are executed, i.e., the cards are charged and the funds transferred to your account via
the iATS payment gateway.
With the iATS connector enabled, an additional panel containing fields for credit card information appears in the batch item screen, as shown in the screen shot
below. Notice that you can use spaces or dashes in the credit card number, so that it is more readable.
In addition, when creating or cloning a batch, you will be able to select the "Credit Card Processor" option for the iATS credentials to use with the batch, as in the
screen shot below. The entries in the dropdown list contain the values of the Name field of the custom setting. When you select a particular name, the agent code and
password associated with that name in the custom setting will be used for that batch.
Missing card info fields
The Credit Card Information region of the batch entry screen which includes the card number, CVV code and expiration date, will be visible to you only if (a) your
organization has a license for the iATS connector, and (b) the batch in question includes a valid value for the Credit Card Processor field described above.
During data entry, the card number is validated using the well-known LUHN check algorithm
to prevent inadvertent user errors. Any errors that iATS generates when creating
the place-holder charge are also reported immediately, so that when the batch is actually committed, the likelihood of errors is minimized.
Not every item in a given batch is required to have credit card information. If, for example, a particular gift in your batch is not paid via credit card,
simply do not enter any values into the credit card fields for that item, and the batch tool will ensure not to access iATS for that item.
Editing items after entry
The list of items in a currently-open batch can be edited via the grid below. But with credit card charges enabled, you cannot change the amount of the charge after
the batch item has been saved, because that amount is associated with the iATS token stored with the batch item.
Inspecting card info
Also, once the batch item has been saved, you cannot inspect its contents to find the credit card number or CVV code used when creating it - those fields are not
stored in Salesforce, as noted above.
During the commit process, the charge for each item is executed on the iATS server only after all of the other data from the batch item have been created or updated in
Salesforce. Therefore, if there is an error in committing any of the other data, the charge will not be executed. Note, though, that because of this sequence, the batch
item data will appear in Salesforce even if an error occurs when the charge is executed.
Storing credit card information
As part of each batch item, we store the three-digit CVV code for the credit card if one is provided (so we will need to save it
between saving and committing). However, we specifically ensure that, when the batch item is saved, the actual credit card number and expiration date are merely
transmitted to iATS, never
saved with the batch item or anywhere else in Salesforce. This choice is so that the card processing remains fully secure, with no data
leakage, and relies on the PCI DSS compliance that iATS offers.
The connector includes a custom object named
Apsona iATS Transaction
that is used for logging. Every time a charge is committed, a new record is created in this object,
and its fields are set to the data returned from the iATS server for that commit. In addition, the object contains two lookup fields, one to the Opportunity object and a
second to the NPSP Payment object. These fields are set to the Opportunity or Payment record that caused the transaction. You can therefore use this object to report on
all transactions, or to track failed or refundable transactions. Consult the iATS documentation
for details about these fields.
To use the
Apsona iATS Transaction object, your administrator must ensure that it is made visible in your Apsona Configuration. (See this
article for information about visible objects.) If this object is not visible, no log records will be written.
Managing iATS credentials
When connecting to iATS, it is necessary to specify credentials, i.e., agent code and password associated with the account to which cards will be charged. The Apsona iATS
connector allows for multiple credential sets, e.g., separate credentials used for development testing, user acceptance testing, and production use. The iATS connector looks
for a custom setting with API name
containing these credential sets. (That custom setting is included in the connector managed
package that you will need to install - see below.) Each credential set includes the name, the agent code and
the password for the corresponding iATS account. As an administrator, you can manage the contents of this custom setting as needed for your organization.
You can install this custom setting by installing the corresponding package, as described later below.
Installing the connector
To install the connector, please follow these steps:
- Install the Batch Gift Entry package version 1.5 or later, from our AppExchange listing.
- Install the iATS connector package from one of the links below, as appropriate:
- Please contact us to obtain a license, or for a trial of the connector.
Please our non-profits page
for pricing information.