> For the complete documentation index, see [llms.txt](https://docs.xplorpay.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.xplorpay.com/api-reference/resources/ach-request-validation-response-and-return-codes/ach-transaction-statuses.md).

# ACH Transaction Statuses

When an ACH transaction is processed through Paya, multiple status values describe different parts of the transaction lifecycle.

* **Check Status** describes the consumer-side ACH transaction.
* **Funding Status** describes the merchant's funding activity.
* **Xplor Pay API status** provides a normalized summary of the overall transaction state.

A transaction can have different Check Status and Funding Status values at the same time because each status represents a different part of the transaction lifecycle.

### Check Status and Funding Status

The table below lists the Check Status and Funding Status values with what each status indicates.

<table data-search="true"><thead><tr><th width="95.60003662109375">Status</th><th width="116.800048828125">Applies to</th><th>Description</th><th>Use for</th></tr></thead><tbody><tr><td>Check status</td><td>Consumer</td><td>Status of the consumer ACH transaction, such as whether it was submitted, pending, rejected, canceled, or returned.</td><td>Consumer transaction lifecycle, rejection analysis, return analysis, and resubmission decisions.</td></tr><tr><td>Funding status</td><td>Merchant</td><td>Indicates whether the merchant was funded, was not funded, was debited after funding, or was affected by another funding event.</td><td>Merchant settlement, reconciliation, and determining the impact on the merchant's funds.</td></tr><tr><td>Xplor Pay API status</td><td>Transaction</td><td>Provides a normalized status representing the overall transaction state.</td><td>High-level application workflows. Use Check Status and Funding Status for detailed ACH processing and reconciliation.</td></tr></tbody></table>

### Paya statuses and API status

The table below lists the relationship between common Paya check status and funding status values with the corresponding Xplor Pay API status.

{% hint style="info" %}
The same Paya status name can have a different meaning depending on whether it is reported as a Check Status or Funding Status. Always consider the status source when interpreting the transaction.
{% endhint %}

<table data-search="true"><thead><tr><th width="95.60003662109375">Paya Status</th><th width="108.800048828125">Source</th><th>Description</th><th width="106.4000244140625">API status</th><th>Interpretation</th></tr></thead><tbody><tr><td>Debit sent</td><td>Check</td><td>The consumer debit has entered the ACH network and was sent to the ODFI.</td><td><code>SETTLING</code></td><td>Indicates that the consumer-side transaction is progressing through the ACH network. It does not confirm that the merchant has been funded.</td></tr><tr><td>Credit sent</td><td>Check</td><td>The consumer-side ACH credit has entered the ACH network.</td><td><code>SETTLING</code></td><td>Use this as a consumer transaction lifecycle signal rather than a merchant funding confirmation.</td></tr><tr><td>Pending</td><td>Check</td><td>The consumer transaction is scheduled for submission to the ACH network.</td><td><code>PENDING</code></td><td>The transaction has not yet reached the ACH network.</td></tr><tr><td>Cancelled</td><td>Check</td><td>The consumer-side transaction was canceled or returned.</td><td><code>RETURNED</code></td><td>Review the return code to determine why the transaction was returned and whether a new transaction can be submitted.</td></tr><tr><td>Rejected: Authorization Declined</td><td>Check</td><td>The transaction was rejected because authorization was declined.</td><td><code>REJECTED: AUTHORIZATION DECLINED</code></td><td>Use Check Status to determine the rejection reason. Funding Status may indicate <code>No Credit</code>.</td></tr><tr><td>Rejected: Account Is Invalid</td><td>Check</td><td>The transaction was rejected because the account information is invalid.</td><td><code>REJECTED: ACCOUNT IS INVALID</code></td><td>Use Check Status to determine the reason for the failure.</td></tr><tr><td>Rejected: Voiding</td><td>Check</td><td>A void operation is in progress.</td><td><code>REJECTED: VOIDING</code></td><td>Indicates a void-related state rather than a bank return.</td></tr><tr><td>Rejected: Voided</td><td>Check</td><td>The transaction has already been voided.</td><td><code>REJECTED: VOIDED</code></td><td>Indicates a completed void-related outcome.</td></tr><tr><td>Unprocessed</td><td>Check</td><td>The transaction was received but has not completed initial processing or scrubbing.</td><td><code>UNPROCESSED</code></td><td>Indicates an early processing state, not necessarily a failure.</td></tr><tr><td>Credit sent</td><td>Funding</td><td>The merchant credit was sent or paid.</td><td><code>SETTLING</code></td><td>Indicates that merchant funding has occurred or is completing. The API may still show a broader processing state.</td></tr><tr><td>Debit sent</td><td>Funding</td><td>The merchant debit has been sent through the ACH network.</td><td><code>SETTLING</code></td><td>Represents merchant-side movement of funds and should be interpreted as a funding event.</td></tr><tr><td>Pending</td><td>Funding</td><td>The merchant credit is scheduled but has not yet been paid.</td><td><code>PENDING</code></td><td>Use this status when determining whether merchant funding has occurred.</td></tr><tr><td>Cancelled</td><td>Funding</td><td>The merchant was not paid, or a return was received before merchant funding was completed.</td><td><code>RETURNED</code></td><td>Indicates that merchant funding was not completed before the return.</td></tr><tr><td>Chargeback</td><td>Funding</td><td>The merchant was previously funded and was later debited because of a consumer return.</td><td><code>CHARGEBACK</code></td><td>Indicates that funds were previously credited to the merchant and later debited.</td></tr><tr><td>No Credit</td><td>Funding</td><td>No merchant credit will be scheduled.</td><td><code>NO CREDIT</code></td><td>Indicates the funding consequence. Use Check Status to determine the reason for the rejection.</td></tr><tr><td>Reserved</td><td>Funding</td><td>The merchant credit was paid to a reserve account.</td><td><code>RESERVED</code></td><td>Indicates that the funds were placed in a reserve rather than normal merchant settlement.</td></tr><tr><td>To Reserve</td><td>Funding</td><td>The transaction is following a reserve-related funding process.</td><td><code>TO RESERVE</code></td><td>Consider this as a reserve state rather than normal settlement.</td></tr><tr><td>Returned</td><td>Funding</td><td>The merchant-side credit or debit was returned because of an issue with the merchant's bank account information.</td><td><code>MERCHANT_RETURNED</code></td><td>Indicates a merchant-bank funding issue. This represents a merchant-bank funding issue rather than a consumer ACH return.</td></tr><tr><td>Unprocessed</td><td>Funding</td><td>The funding process has not completed initial processing.</td><td><code>UNPROCESSED</code></td><td>Indicates an early funding state but not necessarily a failure.</td></tr></tbody></table>

### Common status combinations

The table below lists check and funding statuses together to understand the complete transaction lifecycle.

<table data-search="true"><thead><tr><th width="134.60003662109375">Check Status</th><th width="109.20001220703125">Funding Status</th><th width="147.60003662109375">Description</th><th>API Status</th></tr></thead><tbody><tr><td>Debit Sent</td><td>Pending</td><td>The consumer debit has been sent to the ODFI, but the merchant credit is still pending.</td><td><code>PENDING</code></td></tr><tr><td>Debit Sent</td><td>Credit Sent</td><td>The consumer debit and merchant credit have both been processed.</td><td><code>SETTLING</code>, followed by <code>SETTLED</code> when Xplor Pay recognizes funding completion.</td></tr><tr><td>Cancelled</td><td>Chargeback</td><td>The consumer transaction was returned after the merchant had already been funded.</td><td><code>CHARGEBACK</code></td></tr><tr><td>Cancelled</td><td>Credit Sent</td><td>The consumer transaction was returned, but the merchant remains credited.</td><td>Interpret the Funding Status to determine the impact to merchant funds.</td></tr><tr><td>Rejected: &#x3C;reason></td><td>No Credit</td><td>The consumer transaction was rejected and the merchant will not be credited.</td><td>Use Check Status for the rejection reason and <code>NO CREDIT</code> for the funding outcome.</td></tr><tr><td>Cancelled</td><td>Cancelled</td><td>The consumer transaction was returned or canceled before the merchant was funded.</td><td><code>RETURNED</code></td></tr></tbody></table>

### Chargebacks

For Paya ACH processing, a **chargeback** is a merchant-side funding event. It occurs when the merchant was previously credited for the consumer transaction and a subsequent return causes the merchant to be debited.

A chargeback is different from a transaction that is returned before merchant funding is completed.

For example, when the check status is **Cancelled** and funding status is **Chargeback**. The funding status indicates that the merchant was funded and subsequently debited.

#### Return Codes and Transaction Statuses

ACH return codes, such as `R01` and `R10`, describe why a consumer-side ACH transaction was returned.

Use the return code together with **check status** to determine:

* Why the consumer transaction was returned.
* Whether the transaction can be resubmitted.
* Whether a new authorization is required.
* Where the transaction is in its return lifecycle.

Use the **funding status** to determine how the return affected the merchant's funds.

For more information about ACH return codes, see [ACH Return Codes](https://docs.xplorpay.com/api-reference/resources/ach-request-validation-response-and-return-codes/ach-return-codes).

#### Recommended Integration Practice

* Use Funding Status for merchant settlement, ledger, and reconciliation decisions.
* Use Check Status for the consumer transaction lifecycle, rejection details, return-code analysis, and resubmission decisions.
* Use Xplor Pay API status as the normalized application status rather than the only source of truth for detailed ACH reconciliation.
* Distinguish chargebacks, merchant-bank returns, no-credit outcomes, and reserve states from ordinary consumer ACH returns.

### ACH Lifecycle Example

<table data-search="true"><thead><tr><th width="136.79998779296875">Stage</th><th width="123.5999755859375">Check Status</th><th width="112.4000244140625">Funding Status</th><th>Interpretation</th></tr></thead><tbody><tr><td>Submitted</td><td>Debit Sent</td><td><code>Pending</code></td><td>The consumer debit is progressing, but the merchant has not yet been funded.</td></tr><tr><td>Normal funding</td><td>Debit Sent</td><td><code>Credit Sent</code></td><td>The merchant credit has been sent or paid.</td></tr><tr><td>Return before funding</td><td>Cancelled</td><td><code>Cancelled</code></td><td>The consumer transaction was returned before the merchant was funded.</td></tr><tr><td>Return after funding</td><td>Cancelled</td><td><code>Chargeback</code></td><td>The merchant was funded and later debited because of the return.</td></tr><tr><td>Rejected</td><td>Rejected: &#x3C;reason></td><td><code>No Credit</code></td><td>Check Status provides the rejection reason; Funding Status indicates that no merchant credit will be issued.</td></tr></tbody></table>

Related topics:

* [ACH Return Codes](https://docs.xplorpay.com/api-reference/resources/ach-request-validation-response-and-return-codes/ach-return-codes)
* [ACH Transactions API](https://docs.xplorpay.com/api-reference/api/payments/ach/ach-transaction/ach-transactions)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.xplorpay.com/api-reference/resources/ach-request-validation-response-and-return-codes/ach-transaction-statuses.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
