---
title: "ACH Status"
method: POST
path: "/ach/status"
tags: ["ACH"]
---

# ACH Status

`POST /ach/status`

Used to process an ach sale transaction.

**Integration Methods:**
- Host Direct

See the [Integration Methods](/guides/quickstart#integration-methods) and [URLs Section](/guides/quickstart#urls) sections of the Development Quick Start guide for details regarding each processing option.

See the [JSON Body Schemas](/guides/quickstart#json-body-schemas) for more details on the various JSON body formats.

## Headers

- `InterfaceVersion` string, required
- `InterfaceName` string, required
- `CompanyName` string, required
- `AccessToken` string, uuid, required

## Request body

- object
  - `dateTime` string, ISO 8601, required — The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). Must be sent as the local date/time of the merchant. For example, a request processed at a merchant in the Pacific time zone at 9:18am on April 15th 2021 would be sent as 2021-04-15T09:18:23.283-07:00
  - `transaction` object, required
    - `invoice` string, required — 10 character invoice number assigned by the interface to identify a transaction. An invoice number serves as a unique key that identifies a transaction within a batch in Shift4's Gateway.

## Response `200`

Transaction was processed

- object
  - `result` object[]
    - `dateTime` string, ISO 8601 — The date and time in ISO 8601 format including the timezone offset (yyyy-mm-ddThh:mm:ss.nnn+hh:mm). Must be sent as the local date/time of the merchant. For example, a request processed at a merchant in the Pacific time zone at 9:18am on April 15th 2021 would be sent as 2021-04-15T09:18:23.283-07:00
    - `amount` object — Object containing information regarding the amount being requested. The `total` field within the object is required and specifies the amount being requested.
      - `total` number — The amount being charged for a particular transaction. If other amount fields are sent, they must be included in the total amount. Amount cannot be zero.
    - `token` TokenACH
      - `value` string, required — The token representing the customer's bank account credentials.
      - `type` 'ACH' — Specifies the type of token. Value = `ACH`
    - `merchant` MerchantResponse
      - `mid` number — The merchant ID associated with the merchant account.
      - `name` string — The merchant’s business name as configured with Shift4.
    - `transaction` object
      - `authSource` 'A' — In a response, a code returned by the processor to indicate which host issued the response. Value | Description -------|---------------------------- A | APM (Online)
      - `type` 'S' | 'R' | 'V' | 'B' | 'D' — Specifies the ACH transaction type.
      - `invoice` string — 10 character invoice number assigned by the interface to identify a transaction. An invoice number serves as a unique key that identifies a transaction within a batch in Shift4's Gateway.
      - `responseCode` 'P' | 'D' — Code indicating the Shift4 host response. Value | Description | Details -------|-------------|-------- P | Pending | The ACH transaction is pending D | Decline | The ACH transaciton was declined. e | Error | The ACH transaction resulted in an error.
      - `vendorReference` string — Optional field for information that can be searched in the merchant portal.
      - `hostResponse` HostResponseACH — Returns the response code detailing why the transaction was declined.
        - `reasonCode` string — Returns a response code from the host. Value | Description ------|----------- C01 | Incorrect DFI Account Number C02 | Incorrect Routing Number C03 | Incorrect Routing Number and Incorrect DFI Account Number C05 | Incorrect Transaction Code C06 | Incorrect DFI Account Number and Incorrect Transaction Code C07 | Incorrect Routing Number, Incorrect DFI Account Number, and Incorrect Transaction Code | R01 | Insufficient Funds R02 | Account Closed R03 | No Account/ Unable to Locate Account R04 | Invalid Account Number Structure R05 | Unauthorized Debit to Consumer Account Using Corporate SEC Code R06 | Returned per ODFI’s Request R07 | Authorization Revoked by Customer R08 | Payment Stopped R09 | Uncollected Funds R10 | Customer Advises Originator is Not Known to Receiver and/or Originator is Not Authorized by Receiver to Debit Receiver’s Account R11 | Customer Advises Entry Not in Accordance with the Terms of the Authorization R12 | Account Sold to Another DFI R13 | Invalid ACH Routing Number R14 | Representative Payee Deceased or Unable to Continue in That Capacity R15 | Beneficiary or Account Holder (Other Than a Representative Payee) Deceased R16 | Account Frozen/Entry Returned Per OFAC Instruction R17 | File Record Edit Criteria/Entry with Invalid Account Number Initiated Under Questionable Circumstances/Return of Improperly-Intiated Reversal R18 | Improper Effective Entry Date R19 | Amount Field Error R20 | Non-Transaction Account R21 | Invalid Company Identification R22 | Invalid Individual ID Number R23 | Credit Entry Refused by Receiver R24 | Duplicate Entry R25 | Addenda Error R26 | Mandatory Field Error R27 | Trace Number Error R28 | Routing Number Check Digit Error R29 | Corporate Customer Advises Not Authorized R30 | RDFI Not Participant in Check Truncation Program R31 | Permissible Return Entry (CCD and CTX only) R32 | RDFI Non-Settlement R33 | Return of XCK Entry R34 | Limited Participation DFI R35 | Return of Improper Debit Entry R36 | Return of Improper Credit Entry R37 | Source Document Presented for Payment R38 | Stop Payment on Source Document R39 | Improper Source Document/Source Document Presented for Payment
        - `reasonDescription` string — Returns a description from the host.
    - `notificationId` string, uuid — Notification ID value generated by Shift4 and returned in the response. Used for matching webhook notifications back to their original request.
    - `server` Server
      - `name` string — The name of the server that processed the request.

## Other responses

- `400` — Error
- `504` — Timeout

---

[API](https://skmtc.dev/shift4/apis/shift4-payment-api.md) · [All operations](https://skmtc.dev/shift4/apis/shift4-payment-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/shift4/shift4-payment-api/revisions/2f85c87cc9e5/schema)
