> ## Documentation Index
> Fetch the complete documentation index at: https://dev.enterprise.moonpay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Rejected or failed transaction

> A transaction ended as Rejected, Below Minimum or Failed. What each outcome means, what happens to the funds, and what to tell your customer.

**Rejected**, **Below Minimum** and **Failed** are terminal. The transaction will not resume, and retrying it means a new deposit from your customer.

### 1. Open the transaction

Open **Customers**, click the customer, then **View all transactions**. Hover the status badge: its tooltip says why the transaction stopped.

### 2. Read the outcome

| Dashboard | API status | What happened |
| - | - | - |
| **Rejected**, tooltip "didn't meet AML requirements" | `RejectedAml` | Compliance rejected the deposit |
| **Rejected**, tooltip "rejected during fraud review" | `RejectedFraud` | Fraud review rejected the deposit |
| **Below Minimum** | `RejectedMinAmount` | After fees, the payout would have been under the minimum for the rail. See [Minimum transaction amount](https://dev.enterprise.moonpay.com/limits-and-minimum.md#minimum-transaction-amount) |
| **Failed** | `Failed` | The payout could not be made, or the recipient's bank returned it. A returned payout shows **Completed** until MoonPay Enterprise records the return |

### 3. Tell your customer what happens to the funds

**Rejected and Below Minimum.** The funds are not converted. Returning them to the sender is a manual step, not an automatic one. When a return is recorded, you receive the `transaction_refunded` [webhook](https://dev.enterprise.moonpay.com/webhooks.md) with the `refund_id` and `transaction_id`. If your customer is waiting for their money and no refund has been recorded, contact [support](https://dev.enterprise.moonpay.com/support.md) with the transaction ID.

> [!NOTE]
>
> The dashboard and the API don't say why compliance or fraud review rejected a deposit. Contact [support](https://dev.enterprise.moonpay.com/support.md) if you need details. For a **Below Minimum** rejection, tell your customer the minimum for the rail so their next deposit clears it.

**Failed.** Check the recipient's bank details: in the App view, pick the customer in **View As** and open **Linked Bank Accounts**. Banks return a payout when the account details are wrong, the account is closed, or the account holder name doesn't match. Contact [support](https://dev.enterprise.moonpay.com/support.md) with the transaction ID and the corrected details. The return reason the bank gave is not exposed in the dashboard or the API.

> [!WARNING]
>
> After a payout is returned, the transaction no longer carries its `payment_tracking` references. Keep them from when the payout was sent. See [Trace a payout](https://dev.enterprise.moonpay.com/trace-payout.md).

## Do it over the API

| Check | Endpoint |
| - | - |
| Transaction status | `GET /api/autoramp-transactions/ids?ids={transaction_id}` |
| Whether the customer paid from their own account | `third_party_classification` on the same response: `FirstParty`, `ThirdParty`, `Inconclusive` or `Unknown` |

Subscribe to the `transaction_status` webhook to catch rejections as they happen, and to `transaction_refunded` to know when funds have been sent back.
