ACH Endpoints
The following tables summarize ACH endpoints in the Galileo system. Endpoints are grouped by outgoing ACH and incoming ACH. See the sections below for information on how to use each endpoint.
Outgoing ACH endpoints
Use endpoints in this table to create and view outgoing ACH transactions that originate at Galileo.
Note
The Add ACH Account, Modify ACH Account, and Remove ACH Account endpoints do not trigger an event. Refer to the API response to confirm the outcome of your request to these endpoints.
Use case | Endpoint |
---|---|
Add an ACH account to associate your customer’s account with an external account. Use this endpoint when the external account belongs to an individual. You must create an ACH account to send an outgoing ACH transaction. | Add ACH Account |
Add an ACH account that belongs to a corporate entity. | Add ACH Account Corporate |
Get a record of ACH accounts that are associated with your customer’s account. | Get ACH Accounts |
Update account information for an existing ACH account. | Modify ACH Account |
Remove an ACH account from a customer account. | Remove ACH Account |
Send an outgoing ACH transaction from your customer’s account to an external account. | Create ACH Transaction |
Cancel a transaction that you created with the Create ACH Transaction endpoint. | Cancel ACH Transaction |
Get a record of all ACH transactions created via the Create ACH Transaction History endpoint. | Get ACH Transaction History |
Incoming ACH endpoints
Use endpoints in this table to view and modify incoming ACH transactions from an external originator.
Use case | Endpoint |
---|---|
Get the ACH deposit history either for an entire program or for a single customer account. Use for incoming ACH credit. | Get Deposit History |
Retrieve a list of incoming ACH credit requests where the funds are not yet available to your customer. | Get Pending Deposits |
Either post or return a pending incoming ACH credit. | Modify Pending Deposit Status |
ACH accounts
There are two types of external accounts that can be added as ACH accounts: personal and corporate. A personal account belongs to a natural individual, and a corporate account belongs to a business entity. To add each type of account use these endpoints:
- Add ACH Account — Add a personal account
- Add ACH Account Corporate — Add a business account
By using these endpoints, you set up ACH transactions where the originator is your customer’s account in the Galileo system and the receiver is the external account. Each ACH account stores the information for only one external account. You will need to add a new ACH account for each external receiver account. Prior to calling these endpoints, you must have a US-based account with a PRN already set up that supports ACH.
When you add an ACH account, you provide the external bank account and routing numbers to make direct ACH transfers with the external account. Alternatively, you can use Plaid integration to get external account information. See Plaid integration for more information.
The Add ACH Account and Add ACH Account Corporate endpoints return an ach_account_id
that you will pass through the Create ACH Transaction endpoint when your customer originates an ACH transaction with the external account.
Note
A customer can have multiple ACH accounts that use the same account and routing numbers as long as each duplicate ACH account is linked to a different account type. For example, you can add separate ACH accounts to a checking account PRN and savings account PRN that each link to the same external account.
You can also call Add ACH Account multiple times for the same PRN, as long as the external account numbers are different.
Add ACH Account
This table describes parameters that are specific to the Add ACH Account endpoint.
Parameter | Description |
---|---|
accountNo | Account number for the account associated with this ACH account. This can be a primary or secondary account. |
achAccountNo | Bank account number identifying the external account for ACH transactions. Required unless Plaid integration is used. |
achRoutingNo | Bank routing number identifying the external bank for ACH transactions. Required unless Plaid integration is used. |
processorToken | Token provided by Plaid for Galileo + Plaid integration. Replaces the achAccountNo and achRoutingNo . See Plaid integration for more information. If you are not using Plaid, do not send this parameter with an empty or null value. |
name | Description of the account, such as "Wells Fargo Checking". |
firstName | Required. First name of the external account owner. This is a display name that is included in the outgoing Nacha file. Only the first 9 characters of this field are included in the Nacha file. |
lastName | Required. Last name of the external account owner. This is a display name that is included in the outgoing Nacha file. Only the first 12 characters of this field are included in the Nacha file. |
Add ACH Account Corporate
This table describes parameters that are specific to the Add ACH Account Corporate endpoint.
Parameter | Description |
---|---|
accountNo | Account number for the account associated with this ACH account. This can be a primary or secondary account. |
achAccountNo | Bank account number identifying the external account for ACH transactions. Required unless Plaid integration is used. |
achRoutingNo | Bank routing number identifying the external bank for ACH transactions. Required unless Plaid integration is used. |
processorToken | Token provided by Plaid for Galileo + Plaid integration. Replaces the achAccountNo and achRoutingNo . See Plaid integration for more information. If you are not using Plaid, do not send this parameter with an empty or null value. |
name | Description of the account, such as "Citibank Saving". |
companyName | Required. Name of the company that holds the external account. This is a display name that is included in the outgoing Nacha file. Only the first 22 characters of this field are included in the Nacha file, so take care that the most identifiable portion of your company name fits in the first 22 characters. |
Viewing ACH accounts
Use the Get ACH Account endpoint to retrieve ACH account information. Pass the customer's PRN for accountNo
, which you used in the Add ACH Account or Add ACH Account Corporate endpoint, to this endpoint. Do not pass an ach_account_id
for accountNo
.
If there are multiple ACH accounts linked to the accountNo
, the Get ACH Account endpoint returns information for each ACH account. The found
field in the response data indicates the number of ACH accounts that are linked to the accountNo
.
Modifying ACH accounts
Use the Modify ACH Account endpoint to update ACH account information. When using Modify ACH Account, you must specify the entityType
of the account to modify:
C
— Corporate ACH account. The account was created using Add ACH Account Corporate.I
— Individual ACH account. The account was created using Add ACH Account.
Depending on the value of entityType
, other fields are also required:
entityType: C
—companyName
is requiredentityType: I
—firstName
andlastName
are required
Removing an ACH account
Use the Remove ACH Account endpoint to remove an ACH account. ACH account records cannot actually be deleted from the Galileo system, but a removed account is deactivated so that it can no longer be used for ACH transactions. A removed ACH account is set to status: D
(deleted).
This table describes parameters that are specific to the Remove ACH Account endpoint.
Parameter | Description |
---|---|
accountNo | Account number for the account associated with the ACH account. |
achAccountNo | Account number for the ACH account to be removed. |
ACH transactions
You can manage ACH transactions using the following procedures.
Creating an ACH transaction
Use the Create ACH Transaction endpoint to originate an outgoing ACH transaction where the originator is your customer in the Galileo system and the receiver is the holder of an external account.
Note
When initiating a transaction with the Program API, the
transactionId
from the API request is copied to the external transaction ID field of all transactions that result from the request. The external transaction ID is available in the responses to transaction-retrieval Program API requests asexternal_trans_id
, in the Posted Transactions RDF asEXTERNAL TRANSACTION ID
, and in the Events API messages asext_trans_id
.
This table describes parameters that are specific to the Create ACH Transaction endpoint.
Parameter | Description |
---|---|
accountNo | Account number for the account associated with this ACH account. |
achAccountId | The ach_account_id as returned by the Add ACH Account or Add ACH Account Corporate endpoint. |
amount | The amount to credit or debit the receiver’s account. Do not use a plus or minus sign. Instead, use the debitCreditIndicator field to indicate the direction of funds. |
sameDay | Set to Y to post a same-day ACH credit request. See Same-day ACH for more information. |
description | A description for the transaction. This description is not passed in the Nacha file, but you can see it in the CST or have it added to the RDFs and event messages. |
debitCreditIndicator | Indicates whether the transaction will credit or debit the receiver’s account. Values are:C — CreditD — Debit |
identNumber | Provider-supplied identifier, external to the Galileo system. This value is only required for the consumer initiated entries, SEC codes CIE (consumer to business accounts) and WEB (consumer to consumer account). |
remittanceInfo | Provide payment remittance details. This value is only applicable for the consumer initiated entries, SEC codes CCD (business to business accounts), PPD (business to consumer), and CIE (consumer to business). See Payment remittance information in the ACH at Galileo guide for details. | |
Viewing ACH transactions
You can use one of several endpoints to view posted and pending ACH transactions. The accountNo
that you pass to the endpoint must be associated with at least one ACH account that was created with the Add ACH Account or Add ACH Account Corporate endpoint. If there are multiple ACH accounts linked to the accountNo
, Galileo returns transaction information for each ACH account.
This table describes endpoints for viewing ACH transactions.
Endpoint | Description |
---|---|
Get ACH Transaction History | Returns the entire ACH transaction history for a customer account, including pending and posted transactions. |
Get Deposit History | Returns records for incoming ACH credit requests, either for an entire program or for a specific customer. Leave the accountNo empty to return the program history. |
Get Pending Deposits | Returns records for incoming ACH credit requests that have not been posted to the receiver’s account. |
Consult Finding Transaction Data to see where else ACH transactions are visible.
Canceling an ACH transaction
Use the Cancel ACH Transaction endpoint to cancel an outgoing ACH transaction originated by your customer in the Galileo system. You cannot cancel an ACH transaction in this manner after Galileo processes the transaction and adds it to a Nacha file. If you need to stop a transaction after Galileo generates the Nacha file, you must initiate an ACH return. See ACH at Galileo for more information.
The cutoff time to cancel an ACH transaction varies from client to client. You can contact Galileo to get the approximate time the Nacha file is generated for your core.
When an ACH transaction is successfully canceled, any funds debited from your customer’s account are returned and a BADJ: adj
event is generated.
This table describes parameters that are specific to the Cancel ACH Transaction endpoint.
Parameter | Description |
---|---|
accountNo | The accountNo that is linked to the ACH account used for the transaction. |
transactionId | The transactionId of the endpoint request to be reversed. |
achTransactionId | The ach_transaction_id returned by the Create ACH Transaction endpoint. |
Note
If you call Create ACH Transaction, and then call Remove ACH Account, the transaction is not canceled, because the account existed at the time the transaction was created. The ACH transaction process does not check the account status again.
Modifying a pending ACH deposit status
A pending ACH deposit is an incoming ACH credit that has not been posted to the customer’s account. You can use the Modify Pending Deposit Status endpoint to either post or return a pending ACH direct deposit before it is posted to the account. In most cases you will modify pending ACH direct deposits that are flagged for review (status: i
). When you post a pending ACH deposit, Galileo sends the BPMT: pmt
event message.
This table describes parameters that are specific to the Modify Pending Deposit Status endpoint.
Parameter | Description |
---|---|
accountNo | Destination account number for the pending direct deposit. |
depositTransactionId | The ach_trans_id for the deposit returned by the Get Pending Deposits endpoint. |
actionType | Indicates whether to post or return the pending ACH deposit. Values are:P — PostR — Return |
categoryCode | Category to assign to the deposit. Values are:COF — Questionable IAT countryFBE — Federal benefitHRK — High risk depositLRG — Large transfer amountNAM — Unverified nameNFC — NFCUPAY — Payday loanTAX — Tax |
categoryType | Indicates the decision for future ACH deposits that match the program settings for the current deposit. Values are:A — Approve matching transactions.D — Decline matching transactions.W — Watch matching transactions and send for manual review. |
retCode | Reason for returning the deposit. This parameter is required when actionType: R . See Return Codes for valid values. |
Testing ACH transactions
You can create simulated incoming ACH transactions in the CV environment using specialized endpoints. See Setup for Incoming ACH Transaction Simulation for instructions.
Updated 3 months ago