Connecting an ACH Account

Galileo and Plaid have partnered to provide the simplest way for your Cardholders to fund their Accounts.

Your Cardholders can verify their external bank accounts from Plaid's drop-in module within your app or website. Once an external account is verified, you can use Galileo to transfer money between the external account and your Cardholder's Account.

This integration was built with security in mind, as it eliminates the need for you to store sensitive information from your Cardholders' external bank accounts.


Step 1: Integrate Plaid Link

After you have created a Plaid account, follow the directions in Plaid's documentation to add the Plaid Link module to your app or website.

When a Cardholder successfully verifies an Account, Plaid sends you a public_token and an account_id through its onSuccess callback function. Use Plaid's exchangePublicToken API endpoint to exchange the public_token for a Plaid access_token. Next, use Plaid's createProcessorToken endpoint, passing in the access_token and account_id, to receive a Galileo processor_token. This processor_token is used to communicate to Galileo which external bank account to transfer money to and from.

Step 2: Add an ACH Account

As soon as the processor_token is obtained, send a POST request to the Accounts endpoint, passing in the processor_token and account type. Galileo uses the processor_token to fetch the account number, routing number, and account type from Plaid.

The identity of the owner of the external account must match the identity stored in the Cardholder Object. Galileo uses the Cardholder's name, address, email, and phone number to verify that the ACH Account is owned by the Cardholder. The identity-matching algorithm allows some margin for error and shouldn't be affected by minor typos or inconsistencies. If the identities don't match, you receive an error. Your Cardholders should verify that their bank has the correct information on file or to try to connect a different account.

If the request is successful, the response contains the account_id used to create the ACH transfer. If Galileo's communication with Plaid is unsuccessful, a plaid_error will be returned. You should use the propagated error to resolve the issue with Plaid. A common plaid_error is ITEM_LOGIN_REQUIRED, which means the cardholder needs to reauthenticate the account through Plaid Link's update mode. See Plaid's section on Errors for a comprehensive list of possible plaid_errors.

All of a Cardholder's accounts, including linked ACH Accounts, are available by sending a GET request to the Accounts endpoint. ACH Accounts have ach as the account_type.

Connecting an ACH Account in Sandbox

The Instant Sandbox corresponds with Plaid's Sandbox. To test out connecting ACH Accounts in Sandbox, you should first create an Item in Plaid's Sandbox. You are able to obtain a processor_token for this Item the same way you would in Plaid's Production environment. Once the processor_token has been obtained, proceed to Step 2.

Removing an ACH Account

In the event that your Cardholder wishes to remove an ACH Account, update the Account status to removed. Doing so will remove the Account from the list of the Cardholder's Accounts available from the API.

What’s Next
Did this page help you?