An Automated Clearing House (ACH) transfer is an electronic funds transfer between two accounts at different banks. It allows for for credits (sending money) and debits (receiving money), and is generally cheaper when compared to other available methods, but also most-often slower. This guide will examine the process of sending money another account using ACH (also known as a credit), though you can also receive money an account (a debit) using this same method.
GET
request to the account
endpoint.
id
property of each account object.
POST
request to the counterparty
endpoint, and passing along the name of person or entity who owns the account, as well as three pieces of data required for ACH:
id
property representing the counterparty ID.
GET
request to the counterparty
endpoint
id
property representing the counterparty ID.
direction
property specifies whether this transfer is a credit or debit (in this case a credit since money is being sent), and the sec_code
which specifies the type of transfer according to the ACH Network. More details on those topics can be found in the ACH documentation.
The protocol that underlies the ACH network is batch-oriented and does not provide success responses (only error responses). As a result, ACH transfers follow a particular workflow as they are processed by the network. You can track a transfer’s progress by checking the status attribute on the ACH object.Enough details, let’s make the transfer!
GET
request to the ach
endpoint and passing in the id
of the ACH transfer you’d like the status for. This will return an ACH object with the latest status.
status
has been changed to “sent”.
ach.update
event, you can be notified of changes in the status of the ACH transfer when they occur.
ach.update
webhook notification is received, follow the steps outlined above to obtain the latest status of the transfer, or simply make a GET
request to the URL specified in the url
property of the data object.