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

# Payment Errors

## Request Errors

The request to the `/payments` endpoint failed. These are the `sub_type` that can be returned.

### `INVALID_REQUEST`

The request body failed basic validation for the specific API endpoint.

### `NOT_FOUND`

The requested resource does not exist.

### `INVALID_AMOUNT_TYPE`

Amount type should be integers expressed as decimals.

### `INVALID_AMOUNT`

The minimum amount for a payment is 100 cents `($1.00)`. The maximum amount for a payment is 100,000,000 cents `($1,000,000.00)`.

### `INVALID_ACH_DESCRIPTION`

The ACH description should be a string with a maximum of 10 characters.

### `INVALID_SOURCE`

Source Account provided is invalid. Account either doesn't exist or is not active.

### `INVALID_SOURCE_HOLDER`

Source Account holder is inactive.

### `INVALID_SOURCE_HOLDER_CAPABILITIES`

Source Account holder is not allowed to send funds.

### `INVALID_SOURCE_HOLDER_LIMITED`

Source Account holder is limited to sending funds from Accounts linked using Method Link (Plaid / MX).

### `INVALID_SOURCE_LIABILITY`

Source Account cannot be of type `liability`.

### `INVALID_DESTINATION`

Destination Account provided is invalid. Account either doesn't exist or is not active.

### `INVALID_DESTINATION_HOLDER`

Destination Account holder is not allowed to receive funds.

### `INVALID_ACH_DESTINATION_NOT_ALLOWED`

Payments to an ACH destination account are not enabled for this team. Contact Method to enable this capability.

### `INVALID_TEST_DESTINATION`

Destination Account was created before live mode was enabled.

### `INVALID_TEST_SOURCE`

Source Account was created before live mode was enabled.

### `INVALID_TRANSFER`

Cannot transfer funds between the same Account.

### `MAX_AMOUNT_EXCEEDED`

The organization's max one-time transfer amount exceeded.

### `MAX_DAILY_VOLUME_EXCEEDED`

The organization's max 24-hour total transfer volume has been exceeded. Contact support to extend this limit.

### `MAX_REQUEST_LIMIT`

The organization's monthly payment request limit has been reached. Contact support to extend this limit.

### `MAX_PAYMENT_METADATA_SIZE_EXCEEDED`

Max metadata object size of 1KB exceeded.

### `INSUFFICIENT_FUNDS`

Source Account has insufficient funds.

### `INVALID_SOURCE_CAPABILITIES`

Source Account is not verified to send payments.

### `INVALID_DESTINATION_CAPABILITIES`

Destination Account is not verified to receive payments.

### `INVALID_DESTINATION_BALANCE`

Destination Account has a balance of \$0.

### `INVALID_SOURCE_SINGLE_USE_CLEARING`

Source Account is a single-use clearing account, and has already been used for a payment.

***

## Resource Errors

Errors set on a Payment's `error` property for processes that are unsuccessful.

### `10001 – PAYMENT_INSUFFICIENT_FUNDS`

Payment failed due to insufficient funds from the source Account.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10001,
  "sub_type": "PAYMENT_INSUFFICIENT_FUNDS",
  "message": "Payment failed due to insufficient funds from the source account."
}
```

***

### `10002 – PAYMENT_UNAUTHORIZED`

The Payment was unauthorized by the source or destination Account holder.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10002,
  "sub_type": "PAYMENT_UNAUTHORIZED",
  "message": "Payment failed due to a report by the source or destination account holder as unauthorized."
}
```

***

### `10003 – PAYMENT_INVALID_ACCOUNT`

The Payment failed due to an invalid source or destination Account. The Account is either inactive or does not exist.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10003,
  "sub_type": "PAYMENT_INVALID_ACCOUNT",
  "message": "Payment failed due to an invalid source or destination account."
}
```

***

### `10004 – PAYMENT_CANCELED_INSUFFICIENT_FUNDS`

Payment was canceled due to insufficient funds from the source Account.

```json theme={null}
{
  "type": "PAYMENT_CANCELED",
  "code": 10004,
  "sub_type": "PAYMENT_INSUFFICIENT_FUNDS",
  "message": "Payment was canceled due to insufficient funds from the source account."
}
```

***

### `10005 – PAYMENT_UNAUTHORIZED_SOURCE`

The Payment failed due to a report by the source Account holder as unauthorized.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10005,
  "sub_type": "PAYMENT_UNAUTHORIZED_SOURCE",
  "message": "Payment failed due to a report by the source account holder as unauthorized."
}
```

***

### `10006 – PAYMENT_UNAUTHORIZED_DESTINATION`

The Payment failed due to a report by the destination Account holder as unauthorized.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10006,
  "sub_type": "PAYMENT_UNAUTHORIZED_DESTINATION",
  "message": "Payment failed due to a report by the destination account holder as unauthorized."
}
```

***

### `10007 – PAYMENT_INVALID_SOURCE_ACCOUNT`

The source Account is invalid. The Account is either inactive or does not exist.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10007,
  "sub_type": "PAYMENT_INVALID_SOURCE_ACCOUNT",
  "message": "Payment failed due to an invalid source account."
}
```

***

### `10008 – PAYMENT_INVALID_DESTINATION_ACCOUNT`

The destination Account is invalid. The Account is either inactive or does not exist.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10008,
  "sub_type": "PAYMENT_INVALID_DESTINATION_ACCOUNT",
  "message": "Payment failed due to an invalid destination account."
}
```

***

### `10009 – PAYMENT_REJECTED_BY_DESTINATION_INSTITUTION`

The Payment was rejected by the destination Account's FI.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10009,
  "sub_type": "PAYMENT_REJECTED_BY_DESTINATION_INSTITUTION",
  "message": "Payment failed due to a rejection by the destination account's financial institution."
}
```

***

### `10010 – PAYMENT_REJECTED_INVALID_AMOUNT`

The payment failed due to a rejection by the destination account's financial institution to accept the payment amount.

```json theme={null}
{
  "type": "PAYMENT_FAILED",
  "code": 10010,
  "sub_type": "PAYMENT_REJECTED_INVALID_AMOUNT",
  "message": "Payment failed due to a rejection by the destination account's financial institution to accept the payment amount."
}
```

***
