Integrating AvidiaPay with Salesforce using Chargent
AvidiaPay is a Bank Centric Payments™ platform deployed by Avidia Bank of Hudson, Massachusetts in September 2015. The platform utilizes linked2pay, an award winning ACH and credit card processing platform. The resulting platform provides an innovative solution that improves payment acceptance speed as well as providing administrative tools for managing payments and APIs that provide an approach for implementing automatic payment processing.
Integration with Chargent allows the ability to provide a seamless process for completing payment for orders managed in Salesforce. The integration also provides a secure ACH and credit card payments process that maximizes security and fraud prevention for PCI compliance through the use of NACHA guidelines, encryption, and tokenization.
Setting Up Integration
This section contains the procedures for setting up the integration between AvidiaPay and Salesforce. Each subsection under this section contains a separate procedure, however, the procedures must be completed in the order presented. Note: AvidiaPay uses the Linked2Pay platform.
Setting Up Linked2Pay For Integration
This subsection contains the procedure for setting up Linked2Pay for the integration with Salesforce. Note: This procedure must be completed before starting Setting up Salesforce.
- Log into Linked2Pay account.
- Click Settings tab.
Click Advanced Settings up arrow.
Check Enable Web Service and click Generate Web Service Access Key. Note: The Web Service Access Key will need to be entered into Salesforce.
Click Save Changes at bottom of Settings screen.
Click Virtual Terminal tab.
Click Create Terminal.
Enter Terminal Name, click Next on this and subsequent screens, and click Submit on final screen. Note: Leave default values on subsequent screens. Terminal Name will need to be entered into Salesforce.
Setting Up Salesforce For Integration
This subsection contains the procedure for setting up Salesforce for the integration with AvidiaPay
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.
Select Chargent app in upper right hand corner of Salesforce.
Click the Gateway tab.
Select Linked2Pay record type. Click Continue.
Enter following fields:
- Gateway Name - Internal Salesforce name for gateway.
- Merchant Name - Username when logging into Linked2Pay.
- Merchant Security Key - Web Service Access Key from Linked2Pay Advanced Settings.
- Transaction Security Key - Terminal Name from Linked2Pay Virtual Terminal creation screen.
Testing the Integration
This section contains the procedure for testing the integration set up in Setting Up AvidiaPay/Salesforce Integration.
- 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.
- Click New.
Enter Subtotal, Billing Information (including Email), Payment Information, and Credit Card fields and click Save.
Note: These test Credentials can be used (these only work in the Linked2pay test environment)
- ACH Transaction: 122000247 (routing number) 123456789 (account number)
- CC Transaction: 4111 1111 1111 1111 (999 for CVV and 02/2018 for expiration)
Verify successful transaction and click OK.
A Transaction record is created, containing the response messages and details received back from Linked2Pay.
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 Linked2Pay:
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 Linked2Pay account’s username and password.
- Repeat Setting Up Linked2Pay For Integration using production account creating production Virtual Terminal.
- Repeat Setting Up Salesforce For Integration for production Salesforce.
- Repeat Testing the Integration for production integration using 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.
This section contains the procedure for setting up using the tokens that are passed between Chargent and AvidiaPay. AvidiaPay uses a token system as well as encryption of data in the native databases 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.
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.