Overview

A complete bank payments API, designed for scale

ACHQ Payments API

The ACH API enables your platform to both originate and receive payments through the Federal Reserve ACH network. This guide will provide a high-level overview of how ACHQ handles various payment functions as well as some useful information on the daily operational processes involving ACH payments.

Your software issues a specific request to the ACHQ API to accomplish your desired task and the gateway will send back a formatted response to your command indicating the success or failure of that task along with any information necessary to resolve or understand why a command may have failed.

With full control over your platform's payment functions, your end users never have to juggle various applications to get a full handle on their revenue and reconciliation. Your platform becomes the center of their financial picture.

Payment types

With the ACHQ API you can extend incoming and outgoing payment functionality to your platform users via ACH Debit and Credit

ACH Debit

ACH debit is a payment type used to pull funds from an account, typically as payment for goods or services. It's helpful to think of an ACH debit as a Charge.

ACHQ merchants receive money via charges

The Originator (merchant) pulls funds out of the Receiver's account. For example:

  • ​ Service fee for a monthly software subscription
  • ​ Mortgage or other loan repayment
  • ​ Purchase of goods from a website
  • ​ Membership dues for a health club

ACH Credit

ACH credit is a payment type used to push funds from a merchant's account to an outside account. It's helpful to think of an ACH credit as a Payout.

ACHQ merchants send money via payouts

The originator pushes funds into the receiver’s account. For example:

  • A direct deposit to an employee for payroll
  • Funding a borrower's account for a loan
  • Disbursing funds to a vendor
  • Issuing a refund

API Terminology

These terms are simplified in the ACHQ API via the PaymentDirection parameter within the Create a Payment endpoint:

PaymentDirectionACH Payment TypeResults
FromCustomerACH Debit (Charge)Merchant pulls funds from customer's account
ToCustomerACH Credit (Payout)Merchant sends funds to customer's account

Payment Lifecycle

Unlike credit card payments, ACH transactions are processed asynchronously via a batch and report system. This means each payment will undergo several status events as it progresses through the system.

EventACHQ StatusDescriptionPossible Actions
CreatedScheduledPayment is pending delivery to the FedCancel a payment , Update a payment , Hold a payment
SubmittedIn-processPayment has been sent to FedNone
ClearedClearedMerchant or Receiver has been paidRefund a payment
Failed / NSFReturned-NSFPayment failed due to the receiver not having enough funds to cover the debitCreate a payment
Failed / adminReturned-OtherPayment failed due to administrative reasons (account closed, frozen, etc)None (contact customer)
Charged-backCharged BackACH return received after deposit was madeNone (contact customer)
Bad bank accountRejectedBank account failed verification (pre-processing)None (contact customer)

For a more detailed look at ACH return codes, check out the return codes guide

Cut-off times

As illustrated in the table above, your platform may use the various API endpoints to interact/update/modify any payment with a status of Scheduled. Once a scheduled payment is delivered by ACHQ to the Fed (ACH Operator) for processing, we are unable to stop or modify the record. The cut-off time for a given payment can vary depending on the API request parameters associated with the transaction. If you are not utilizing Same-Day ACH then the calculation becomes pretty simple:

ServiceCut-off Time
Same-Day ACH9:00 AM EST
Same-Day ACH11:15 AM EST
Same-Day ACH2:15 PM EST
Standard (overnight) ACH7:00 PM EST

If you are utilizing the same-day ACH functionality, please review the previously linked documentation for more details about the various processing windows.