# ACH Transactions

The ACH (automated clearing house) transactions endpoints allow creating and managing ACH payments.
These operations support initiating ACH debit and credit transactions, retrieving transaction details, and monitoring transaction status throughout processing.
They also provide controls for managing transactions before settlement, such as placing transactions on hold, releasing holds, voiding pending transactions, or issuing refunds as needed.
The following is a typical Flute ACH workflow.
**Authorizing the Payment**
The customer authorizes the ACH payment.
This includes obtaining NACHA-compliant authorization.
NACHA (National Automated Clearing House Association) is the organization that governs the ACH payment network in the United States.
It sets the rules and standards for ACH payments.
The customer provides the SEC (standard entry class) code for the payment method.
This establishes the form of payment.
It can be one of the following:
* Online form (SEC code WEB)
* Signed authorization (SEC code PPD)
* Phone authorization (SEC code TEL)
* Business payment (SEC code CCD)

And their personal information:
* Name
* Their bank's routing number
* Their bank's account number and account type
* Authorization confirmation

**Creating the Payment**
The method can include either a credit or debit transaction:
`POST /pay-api/v1/transactions/ach/payment/credit`.
`POST /pay-api/v1/transactions/ach/payment`
**Submitting the Payment**
Creating the ACH (automated clearing house) transaction also submits the request for processing.
Flute aggregates transactions and sends them to the ODFI (originating bank) in an ACH (automated clearing house) transaction batch.
ACH (automated clearing house) transactions are typically not processed individually but rather in as a batch of transactions.
That processing is done by the ACH network and batches may take up to two days to clear.
Therefore, there may be a delay in processing ACH (automated clearing house) transaction requests.
An individual ACH (automated clearing house) transaction may be requested for same day processing.
Settlement in those cases may occur within hours.
Check with the originating bank for specific policies and fees.
**Statusing the Payment**
Individual requests will always have an available status that can be checked.
These will be noted with the Flute transaction status.
A status check may be submitted at any time.
Check the response field `status` or `statusId`.
`POST {{baseURL}}/pay-api/v1/transactions/{{transactionId}}`
**Holding or Cancelling the Payment**
After the ACH (automated clearing house) transaction request has been successfully submitted, the transaction by the put on hold or cancelled.
A transaction on hold means the request will not be processed.
That transaction must either be released to continue processing or cancelled.
`POST {{baseURL}}/pay-api/v1/transactions/ach/{{transactionId}}/hold`
`POST {{baseURL}}/pay-api/v1/transactions/ach/{{transactionId}}/unhold`
A transaction that is cancelled will be withdrawn from further processing.
An ACH (automated clearing house) transaction request cannot be cancelled after it has been submitted to the ACH network.
This is indicated by it's `pending` status.
`POST {{baseURL}}/pay-api/v1/transactions/ach/{{transactionId}}/void`
**Settling the Payment**
If the ACH (automated clearing house) transaction request is successful, it returns with a status of `settled`.
The merchant receives funds in their settlement account.
The ACH (automated clearing house) transaction is completed.
**Unsuccessfully Completing the Payment**
Banks can reject the payment with ACH return codes.
Check the ACH return code for the specific reason.
**Refunding the Payment**
Refunds may be issued.
The ACH (automated clearing house) transaction request must have successfully been resolved and settled.
`POST {{baseURL}}/pay-api/v1/transactions/ach/{{transactionId}}/refund`

 - [POST /pay-api/v1/transactions/ach/payment/credit](https://developer.flute.com/api-reference/ach-transactions/flute-v1-post-pay-api-transactions-ach-payment-credit.md): POST {{baseURL}}/pay-api/v1/transactions/ach/payment/credit This endpoint creates a credit ACH (automated clearing house) transaction to transfer funds from the merchant to the customer. It specifical
 - [POST /pay-api/v1/transactions/ach/payment](https://developer.flute.com/api-reference/ach-transactions/flute-v1-post-pay-api-transactions-ach-payment.md): POST {{baseURL}}/pay-api/v1/transactions/ach/payment This endpoint creates an ACH (automated clearing house) transaction to transfer funds from the customer to the merchant. It specifically transfers
 - [POST /pay-api/v1/transactions/ach/{transactionId}/void](https://developer.flute.com/api-reference/ach-transactions/flute-v1-post-pay-api-transactions-ach-id-void.md): POST {{baseURL}}/pay-api/v1/transactions/ach/{{transactionId}}/void This endpoint voids or cancels an ACH (automated clearing house) transaction payment before it is processed or submitted to the ACH
 - [POST /pay-api/v1/transactions/ach/{transactionId}/refund](https://developer.flute.com/api-reference/ach-transactions/flute-v1-post-pay-api-transactions-ach-id-refund.md): POST {{baseURL}}/pay-api/v1/transactions/ach/{{transactionId}}/refund This endpoint refunds an ACH (automated clearing house) transaction payment that has already been settled. It sends money back to
 - [POST /pay-api/v1/transactions/ach/{transactionId}/hold](https://developer.flute.com/api-reference/ach-transactions/flute-v1-post-pay-api-transactions-ach-id-hold.md): POST {{baseURL}}/pay-api/v1/transactions/ach/{{transactionId}}/hold This endpoint places an ACH (automated clearing house) transaction payment on hold. This is temporarily paused in processing. It is
 - [POST /pay-api/v1/transactions/ach/{transactionId}/unhold](https://developer.flute.com/api-reference/ach-transactions/payapi_v1_transactions_ach_id_unhold.md): POST {{baseURL}}/pay-api/v1/transactions/ach/{{transactionId}}/unhold This endpoint removes an ACH (automated clearing house) transaction payment that is on hold. The ACH transaction resumes being pro
