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.
Instructions
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_error
s.
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.
Updated almost 2 years ago