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

# Failure Reason Reference

> Values of failure_reason when an operation returns status FAILED.

This page provides a comprehensive reference of all failure reason values that may be returned in API responses when a status is `FAILED`. These failure reasons help you understand why a particular operation failed and what actions you may need to take.

<Note>
  **When are failure reasons returned?**

  * The `failure_reason` field is populated in API responses when the status is `FAILED`.
  * For successful or processing states, this field will be `null`.
</Note>

## Bank Verification

Bank verification failure reasons are returned when a bank account or UPI ID verification fails. These appear in the bank account creation and verification endpoints.

### Available Failure Reasons

| Failure Reason | Description |
| - | - |
| `INVALID_IFSC` | The provided IFSC (Indian Financial System Code) is invalid or does not match the bank details |
| `INVALID_ACCOUNT_NUMBER` | The provided account number is invalid, incorrect, or does not exist |
| `ACCOUNT_TYPE_NRE` | The account type is NRE (Non-Resident External), which is not supported for transactions |
| `PENNY_DROP_FAILED` | The penny drop verification (micro-transaction verification) failed to confirm account ownership |
| `NAME_MISMATCH` | The account holder name does not match the name on the customer's KYC documents |
| `BANK_RISK_CHECK_FAILED` | The bank account failed internal risk checks and cannot be used for transactions |

## Customer Verification

Customer verification failure reasons are returned when customer KYC verification fails at different stages of the verification process. These appear in customer and KYC endpoint responses.

### Available Failure Reasons

| Failure Reason | Description |
| - | - |
| `DOCUMENT_VERIFICATION_FAILED` | The submitted KYC documents (ID proof, address proof) failed verification. This could be due to poor image quality, expired documents, or documents not matching the provided information |
| `TAX_VERIFICATION_FAILED` | The tax information (PAN, tax number) provided failed verification or does not match the customer's details |
| `SELFIE_VERIFICATION_FAILED` | The selfie image submitted failed verification. This could be due to poor image quality, face not clearly visible, or the selfie not matching the photo on the submitted KYC documents |
| `KYC_FAILED` | The additional information provided (such as occupation, source of funds, etc.) failed verification checks |

## Payin

Payin failure reasons are returned when a payin transaction fails during processing. These appear in payin endpoint responses when the payin status is `FAILED`.

### Available Failure Reasons

| Failure Reason | Description |
| - | - |
| `INCORRECT_UTR` | The UTR (Unique Transaction Reference) provided does not match the actual transaction |
| `INVALID_UTR` | The UTR (Unique Transaction Reference) provided is in an invalid format or structure |
| `PAYMENT_NOT_RECEIVED` | The payment was not received or could not be verified by the payment gateway or bank |

## Payout

Payout failures are reported with a single generic value. The detailed reason isn't shared; contact Zapyd support with the payout ID if you need it.

### Available Failure Reasons

| Failure Reason | Where it appears |
| - | - |
| `Payout failed` | `failure_reason` on a `FAILED` payout, in the Fetch Payout response and the `PAYOUT` webhook. This includes payouts rejected during fulfillment, for example when the customer's KYC or bank account is rejected |
| `Payout refunded` | Reason on a `REFUNDED` payout (`metadata.refund_reason` in the webhook) for INR payouts |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.