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

# Standard Transfer V2

> Use this API to initiate an amount transfer at Cashfree Payments. It is an async request by default.

<Warning>
  **5XX error**<br />
  When you get a 5XX response, do not initiate another transaction.<br />
  Check the status of the batch transfer using Get Batch Transfer Status V2 and then proceed further.
</Warning>

<Note>
  **Get Transfer Status**<br />
  Use the [Get Transfer Status V2](/api-reference/payouts/v2/transfers-v2/standard-transfer-v2) API to get the status of the batch transfer request. The Get Transfer Status V2 API does not give you the status of the batch transfer requests.
</Note>

<Accordion title="Click to view the response codes.">
  | HTTP status code | Status              | Status code                           | Status description                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Next action                                                                                                                                                                                                                                                                                                                                                            | Try again via Cashfree Payments                             |
  | :--------------- | :------------------ | :------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------- |
  | 200              | APPROVAL\_PENDING   | VELOCITY\_CHECK\_FAILED               | The transfer requires an approval as the count of transfers to a particular beneficiary etc have breached the limit. You can approve or reject the transfer request from the Cashfree [Merchant Dashboard](https://merchant.cashfree.com/auth/login).                                                                                                                                                                                                                                   | You can approve/reject the transfer on the [Merchant Dashboard](https://merchant.cashfree.com/auth/login) and go to **Transfers > Approve**. Post the transfer is approved, the request is sent to the partner bank for further processing.                                                                                                                            | -                                                           |
  | 200              | APPROVAL\_PENDING   | TRANSFER\_LIMIT\_BREACH               | The transfer requires an approval as the transfer amount etc have breached the limit. You can approve or reject the transfer request from the Cashfree [Merchant Dashboard](https://merchant.cashfree.com/auth/login).                                                                                                                                                                                                                                                                  | You can approve/reject the transfer on the [Merchant Dashboard](https://merchant.cashfree.com/auth/login) and go to **Transfers > Approve**. Post the transfer is approved, the request is sent to the partner bank for further processing.                                                                                                                            | -                                                           |
  | 200              | APPOVAL\_PENDING    | APPROVAL\_PENDING                     | The transfer requires approval. You can approve or reject the transfer request from the Cashfree [Merchant Dashboard](https://merchant.cashfree.com/auth/login).                                                                                                                                                                                                                                                                                                                        | You can approve/reject the transfer on the [Merchant Dashboard](https://merchant.cashfree.com/auth/login) and go to **Transfers > Approve**. Post the transfer is approved, the request is sent to the partner bank for further processing.                                                                                                                            | -                                                           |
  | 200              | FAILED              | WAIT\_TIME\_EXCEEDED                  | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | You can reinitiate the transfer via Cashfree Payments to reattempt with the partner bank(s).                                                                                                                                                                                                                                                                           | Yes                                                         |
  | 200              | FAILED              | BENE\_BANK\_DECLINED                  | The transfer has failed because the beneficiary bank has declined the transfer. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again with the partner bank(s).                                                                                                                                                                                                                                                                                    | -                                                                                                                                                                                                                                                                                                                                                                      | Yes                                                         |
  | 200              | FAILED              | IMPS\_MODE\_FAIL                      | The transfer has failed because the beneficiary account doesnot support IMPS transfers. This rejection is done by the partner bank for the specific beneficiary account. You can try NEFT or other channels to do the disbursals.                                                                                                                                                                                                                                                       | You can try NEFT or other channels to do the disbursals.                                                                                                                                                                                                                                                                                                               | Yes, via a different mode.                                  |
  | 200              | FAILED              | SOURCE\_BANK\_DECLINED                | The transfer has failed because our partner bank has declined the transfer because of their internal checks, technical declines etc. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again with the partner bank(s).                                                                                                                                                                                                                               | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again with other partner bank(s).                                                                                                                                                                                                                                                 | Yes                                                         |
  | 200              | FAILED              | CONNECTION\_TIMEOUT                   | The transfer has failed because there was a connection timeout between the bank and Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again with the partner bank(s).                                                                                                                                                                                                                                                                      | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again with the partner bank(s).                                                                                                                                                                                                                                                   | Yes                                                         |
  | 200              | FAILED              | PAYOUT\_INTERNAL\_ERROR               | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | -                                                                                                                                                                                                                                                                                                                                                                      | Yes                                                         |
  | 200              | FAILED              | NPCI\_UNAVAILABLE                     | The transfer has failed because NPCI was unavailable to complete the transfer request. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree. The success of the request is contingent on NPCI services being up.                                                                                                                                                                                                                      | -                                                                                                                                                                                                                                                                                                                                                                      | Yes, after some time.                                       |
  | 200              | FAILED              | DEST\_LIMIT\_REACHED                  | The transfer has failed because the beneficiary account has breached the limit of receiving funds. This rejection is done by the beneficiary bank for the specific beneficiary account. You can reinitiate the transfer after a while via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). The success of the request is contingent on beneficiary's limit being available to receive incoming funds.                                       | -                                                                                                                                                                                                                                                                                                                                                                      | Yes, after some time.                                       |
  | 200              | FAILED              | RETURNED\_FROM\_BENEFICIARY           | The transfer has failed because the beneficiary bank has returned the transfer and has not need able to credit funds to the end beneficiary. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again with the partner bank(s).                                                                                                                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | FAILED              | PAYOUT\_INTERNAL\_ERROR               | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | FAILED              | INVALID\_BENE\_ACCOUNT\_OR\_IFSC      | The transfer has failed because the beneficiary account or IFSC is invalid. After correcting the beneficiary account or IFSC, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                          | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | FAILED              | PAYOUT\_INTERNAL\_ERROR               | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | FAILED              | FAILED                                | The transfer has failed because there was an intermittent issue at the partner bank's end. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                             | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, after some time.                                       |
  | 200              | FAILED              | PAYOUT\_INTERNAL\_ERROR               | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | FAILED              | INSUFFICIENT\_BALANCE                 | The transfer has failed because of low balance in your Cashfree Wallet/ Bank Account. After recharging the account, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                    | After recharging the account, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                         | Yes, after recharging.                                      |
  | 200              | FAILED              | INVALID\_BENE\_VPA                    | The transfer has failed because the beneficiary VPA is invalid. After correcting the VPA handle, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                       | After correcting the VPA handle, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                      | Yes, after correcting VPA handle.                           |
  | 200              | FAILED              | INVALID\_IFSC\_FAIL                   | The transfer has failed because the IFSC is invalid. After correcting the IFSC, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                        | After correcting the IFSC, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                            | Yes, after correcting IFSC.                                 |
  | 200              | FAILED              | BAD\_GATEWAY                          | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | FAILED              | INVALID\_AMOUNT\_FAIL                 | The transfer has failed because the amount entered is invalid. After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                            | After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                          | Yes, after correcting amount                                |
  | 200              | FAILED              | INVALID\_ACCOUNT\_FAIL                | The transfer has failed because the Account Number of the beneficiary is invalid, as per our partner bank. After correcting the account number, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                        | After correcting the account number, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                  | Yes, after correcting account number                        |
  | 200              | FAILED              | INVALID\_REQUEST                      | The transfer has failed because the transfer request is invalid, as per our partner bank, because of exceeding the character limit of certain parameter, wrong input etc. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | FAILED              | ACCOUNT\_BLOCKED                      | The transfer has failed because the account is blocked, as per our partner bank. After getting the account unblocked, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                  | After getting the account unblocked, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                  | Yes, after unblocking the account number                    |
  | 200              | FAILED              | DEBIT\_FAILURE                        | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | FAILED              | BENEFICIARY\_BANK\_OFFLINE            | The transfer has failed because the respective beneficiary bank is offline. After some time, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                           | After some time, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                      | Yes, after some time                                        |
  | 200              | FAILED              | AUTHENTICATION\_FAILURE               | The transfer has failed because there was an authentication failure at the partner bank's end. After checking with the partner bank, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                   | This is a scenario when the API access is not working at the partner bank's end. After checking with the partner bank, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                | Yes                                                         |
  | 200              | FAILED              | NRE\_ACCOUNT\_FAIL                    | The transfer has failed because the beneficiary account is an NRE Account and transfers to NRE Accounts are not supported, as per our partner bank.                                                                                                                                                                                                                                                                                                                                     | Get a new account(non-NRE account) from the beneficiary; you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                              | Yes                                                         |
  | 200              | FAILED              | SOURCE\_LIMIT\_REACHED                | The transfer has been failed by the partner bank as the source bank account has reached a limit of transferring funds. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                 | If you are on Cashfree Wallet, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). If you are on Connected Bank, you need to recharge your bank account and then reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). | Yes, after some time                                        |
  | 200              | FAILED              | BANK\_GATEWAY\_ERROR                  | The transfer has failed because there was an intermittent issue at the partner bank's end. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                             | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | FAILED              | BAD\_REQUEST                          | The transfer has failed because the details of the transfer request is invalid, as per our partner bank. After correcting the details in the transfer request, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                         | After correcting the details in the transfer request, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                 | Yes                                                         |
  | 200              | FAILED              | REINITIALIZE\_TRANSFER\_LATER         | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | MANUALLY\_REJECTED  | MANUALLY\_REJECTED                    | The transfer has failed because it has been manually rejected by the merchant or any team member user who has the permissions to do the same on [Merchant Dashboard](https://merchant.cashfree.com/auth/login). You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again with the partner bank(s).                                                                                                                                                    | If the merchant wants to reinitiate the transfer, they can reinitiate the transfer via Cashfree so that the transfer can be reattempted again with the partner bank(s).                                                                                                                                                                                                | Yes,  if you want to reinitiate the transfer                |
  | 200              | PENDING             | SENT\_TO\_BANK                        | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. This has been sent to the bank by our banking operations team. Please do check statuses or await webhooks to know the terminal state of the transfer request.                                                                                                                                                                                   | Rely on Check Status API or Webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | BANK\_GATEWAY\_ERROR                  | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. You should rely only on Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                                                                                                               | Rely on Check Status API or Webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | NO\_SUCH\_REQUEST                     | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. The bank is not able to find the request at their end as of now, and it has been sent to the bank by our banking operations team. Please do check statuses or await webhooks to know the terminal state of the transfer request.                                                                                                                | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | IN\_PROCESS                           | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. Please do check statuses or await webhooks to know the terminal state of the transfer request.                                                                                                                                                                                                                                                  | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | ERROR\_FETCHING\_STATUS               | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. The response received from the partner bank has a new code. This has been raised with the bank to understand the new code. Please do check statuses or await webhooks to know the terminal state of the transfer request.                                                                                                                       | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | TRANSACTION\_PROCESSED                | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. You should rely only on Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                                                                                                               | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | REQUEST\_TIMEDOUT                     | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. The bank is not able to find the request at their end as of now as the request between the partner bank has probably timed out, and it has been highlighted to the bank by our banking operations team. Please do check statuses or await webhooks to know the terminal state of the transfer request.                                          | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | DUPLICATE                             | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. The bank claims of receiving a duplicate request at their end as of now. You should rely only on Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                                      | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | PENDING                               | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. You should rely only on Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                                                                                                               | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | PENDING             | SCHEDULED\_FOR\_NEXT\_WORKINGDAY      | The transfer is currently in a Pending state, as the bank has scheduled the transfer for the next working day. This typically happens for NEFT/RTGS transfers if they are initiated beyond the cut-off hours or during bank holidays. You should rely only on Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                 | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | PENDING             | SUSPECT                               | The transfer is currently in a Pending state, as the bank has scheduled the transfer for the next working day. This typically happens for NEFT/RTGS transfers if they are initiated beyond the cut-off hours or during bank holidays. You should rely only on Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                 | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | PENDING             | IMPLEMENTATION\_ERROR                 | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. You should rely only on Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                                                                                                               | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | PENDING             | UNKNOWN\_ERROR\_CODE                  | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. The response received from the partner bank has a new code. This has been raised with the bank to understand the new code. Please do check statuses or await webhooks to know the terminal state of the transfer request.                                                                                                                       | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | QUEUED              | QUEUED                                | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status. You should rely only on Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                                                                                                               | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | RECEIVED            | RECEIVED                              | The transfer has been received by Cashfree successfully for further processing. You should use Check Status API response or Webhooks to know the terminal state of the transfer request.                                                                                                                                                                                                                                                                                                | Rely on Check Status API or webhooks.                                                                                                                                                                                                                                                                                                                                  | -                                                           |
  | 200              | REJECTED            | BENE\_NOT\_EXIST                      | The transfer has been rejected because the beneficiary, added in the transfer request, does not exist. After adding the right beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                             | After adding the right beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after adding the correct beneficiary.                  |
  | 200              | REJECTED            | INSUFFICIENT\_BALANCE                 | The transfer has been rejected because of low balance in your Cashfree Wallet. After recharging the account, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                           | After recharging the account, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                         | Yes, after recharging.                                      |
  | 200              | REJECTED            | INSIDE\_BLACKOUT\_WINDOW              | The transfer has been rejected because the transfer falls under the blackout window defined by you in Payout Protect. You can reinitiate the transfer via Cashfree, after the blackout window or after modifying the blackout window from the [Merchant Dashboard](https://merchant.cashfree.com/auth/login), so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                       | You can reinitiate the transfer via Cashfree, after the blackout window or after modifying the blackout window from the [Merchant Dashboard](https://merchant.cashfree.com/auth/login), so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                            | Yes                                                         |
  | 200              | REJECTED            | INVALID\_MODE\_FOR\_PYID              | The transfer has been rejected because the payment instrument does not support this mode of transfer. You should get this mode activated on the payment instrument ID by contacting Cashfree, and then initiate a new transfer request.                                                                                                                                                                                                                                                 | You should get this mode activated on the payment instrument ID by contacting Cashfree, and then initiate a new transfer request.                                                                                                                                                                                                                                      | Yes, after activating model                                 |
  | 200              | REJECTED            | BENE\_BLACKLISTED                     | The transfer has been rejected because the beneficiary's bank account and/or VPA handles have been blacklisted by Risk team. You should get a different bank account and/or VPA to send the transfer, or you can connect with Cashfree Team to understand more about this.                                                                                                                                                                                                              | You should get a different bank account and/or VPA to send the transfer, or you can connect with Cashfree Team to understand more about this.                                                                                                                                                                                                                          | Yes, after correcting beneficiary details                   |
  | 200              | REJECTED            | TRANSFER\_NOT\_ATTEMPTED              | The transfer has failed because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                                  | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | REJECTED            | INVALID\_TRANSFER\_AMOUNT             | The transfer has been rejected because the amount entered is invalid. After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                     | After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                          | Yes, after correcting the amount                            |
  | 200              | REJECTED            | TRANSFER\_LIMIT\_BREACH               | The transfer has been rejected because the amount entered breaches the limits set for your payout account. After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). You can connect with Cashfree if you are not sure about the transfer limits set for your payout account.                                                                                                       | After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). You can connect with Cashfree if you are not sure about the transfer limits set for your payout account.                                                                                                 | Yes, after adhering to the transfer limits.                 |
  | 200              | REJECTED            | INVALID\_PAYMENT\_INSTRUMENT          | The transfer has been rejected because the payment instrument (fundsource\_id parameter in the API request) used for attempting the transfer is invalid. After correcting the payment instrument, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                              | After correcting the payment instrument, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                      | Yes, after correcting payment instrument                    |
  | 200              | REJECTED            | PAYOUT\_INTERNAL\_ERROR               | The transfer has been rejected because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                           | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | REJECTED            | VELOCITY\_CHECK\_FAILED               | The transfer has been rejected because the amount entered breaches the limits set for your payout account. After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). You can connect with Cashfree if you are not sure about the transfer limits set for your payout account.                                                                                                       | After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). You can connect with Cashfree if you are not sure about the transfer limits set for your payout account.                                                                                                 | Yes, after adhering to the transfer limits.                 |
  | 200              | REJECTED            | PAYOUT\_INTERNAL\_ERROR               | The transfer has been rejected because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                           | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | REJECTED            | PAYOUT\_INTERNAL\_ERROR               | The transfer has been rejected because there was an intermittent internal error at Cashfree. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                                           | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | REJECTED            | DISABLED\_MODE                        | The transfer has been rejected because your payout account does not support this mode of transfer. You should get this mode activated on your payout account by contacting Cashfree, and then initiate a new transfer request.                                                                                                                                                                                                                                                          | You should get this mode activated on your payout account by contacting Cashfree, and then initiate a new transfer request.                                                                                                                                                                                                                                            | Yes, after activating mode.                                 |
  | 200              | REJECTED            | BANK\_ACCOUNT\_INVALID                | The transfer has been rejected because there is a mismatch in the Bank Account Number of the beneficiary ID and the Bank Account Number in the transfer request. After correcting the Bank Account Number, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                     | After correcting the Bank Account Number, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                     | Yes, after correcting the bank account number.              |
  | 200              | REJECTED            | BANK\_IFSC\_INVALID                   | The transfer has been rejected because there is a mismatch in the IFSC of the beneficiary ID and the IFSC in the transfer request. After correcting the IFSC, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                  | After correcting the IFSC, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                    | Yes, after correcting the IFSC                              |
  | 200              | REJECTED            | VPA\_INVALID                          | The transfer has been rejected because there is a mismatch in the VPA handle of the beneficiary ID and the VPA handle in the transfer request. After correcting the VPA handle, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                | After correcting the VPA handle, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                              | Yes, after correcting the VPA handle                        |
  | 200              | REJECTED            | PHONE\_INVALID                        | The transfer has been rejected because there is a mismatch in the Phone Number of the beneficiary ID and the Phone Number in the transfer request. After correcting the Phone Number, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                          | After correcting the Phone Number, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                            | Yes, after correcting the phone number.                     |
  | 200              | REJECTED            | BANK\_ACCOUNT\_DETAILS\_MISSING       | The transfer has been rejected because the Bank Account Details are missing in the transfer request. After adding the Bank Account Details, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                    | After adding the Bank Account Details, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                        | Yes, after adding the bank account details.                 |
  | 200              | REVERSED            | ACCOUNT\_BLOCKED                      | The transfer has been reversed by the beneficiary bank as the end-beneficiary's account is blocked for receiving incoming funds. After correcting the account number or getting the account unblocked, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                 | After correcting the account number or getting the account unblocked, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                 | Yes, after adding new details or getting account unblocked. |
  | 200              | REVERSED            | FAILED                                | The transfer has been reversed by the beneficiary bank as they were unable to credit the end beneficiary's bank account. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                               | -                                                                                                                                                                                                                                                                                                                                                                      | Yes                                                         |
  | 200              | REVERSED            | NRE\_ACCOUNT\_FAIL                    | The transfer has been reversed by the beneficiary bank as they were unable to credit the end beneficiary's bank account as it is an NRE Account and transfers to NRE Accounts are not supported.                                                                                                                                                                                                                                                                                        | Get a new account(non-NRE account) from the beneficiary; you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                              | No                                                          |
  | 200              | REVERSED            | RETURNED\_FROM\_BENEFICIARY           | The transfer has been reversed by the beneficiary bank as they were unable to credit the end beneficiary's bank account. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                               | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | REVERSED            | BENE\_BANK\_DECLINED                  | The transfer has been declined by the beneficiary bank and they were unable to credit the end beneficiary's bank account. You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                              | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes                                                         |
  | 200              | REVERSED            | IMPS\_MODE\_FAIL                      | The transfer has been reversed by the beneficiary bank because the beneficiary bank account doesnot support IMPS transfers. This rejection is done by the beneficiary bank for the specific beneficiary account. You can try NEFT or other channels to do the disbursals.                                                                                                                                                                                                               | You can reinitiate the transfer via Cashfree by changing the mode so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                  | Yes, after changing mode.                                   |
  | 200              | REVERSED            | DEST\_LIMIT\_REACHED                  | The transfer has been reversed by the beneficiary bank as the end-beneficiary's account has reached a limit of receiving incoming funds. This rejection is done by the beneficiary bank for the specific beneficiary account. You can reinitiate the transfer after a while via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). The success of the request is contingent on beneficiary's limit being available to receive incoming funds. | The limits on the beneficiary account are typically refreshed every 24 hours. Its not clear when the 24 hour window shall elpase so you can then reinitiate the transfer via Cashfree after some time so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                              | Yes, after some time.                                       |
  | 200              | REVERSED            | INVALID\_ACCOUNT\_FAIL                | The transfer has been reversed by the beneficiary bank because the Account Number of the beneficiary is invalid. After correcting the account number, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                  | After correcting the account number, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                  | Yes, after correcting the account number                    |
  | 200              | SUCCESS             | SENT\_TO\_BENEFICIARY                 | The transfer has been initiated via the partner bank successfully. The request is waiting to be processed at the beneficiary bank to do the credit to the end beneficiary.                                                                                                                                                                                                                                                                                                              | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | SUCCESS             | COMPLETED                             | The transfer has been initiated via the partner bank successfully, hence your account is debited and the request is successfully processed by the beneficiary bank and has been credited to the end beneficiary.                                                                                                                                                                                                                                                                        | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | REJECTED            | TRANSFERID\_INVALID                   | transferid can contain only alphabets, numbers, underscore (\_), hyphen (-).                                                                                                                                                                                                                                                                                                                                                                                                            | After correcting the transferid, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                              | Yes, after correcting transfer id.                          |
  | 200              | REJECTED            | AMOUNT\_INVALID                       | amount can contain only numbers.                                                                                                                                                                                                                                                                                                                                                                                                                                                        | After correcting the amount, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                  | Yes, after correcting amount.                               |
  | 200              | REJECTED            | REMARKS\_INVALID                      | remarks can contain only alphabets, numbers and space.                                                                                                                                                                                                                                                                                                                                                                                                                                  | After correcting the remarks, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                 | Yes, after correcting remarks.                              |
  | 200              | REJECTED            | BENEID\_INVALID                       | beneId can contain only alphabets, numbers and underscore.                                                                                                                                                                                                                                                                                                                                                                                                                              | After correcting the beneid, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                  | Yes, after correcting beneficiary id.                       |
  | 200              | REJECTED            | NAME\_INVALID                         | name can contain only alphabets, numbers and space.                                                                                                                                                                                                                                                                                                                                                                                                                                     | After correcting the name, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                    | Yes, after correcting name.                                 |
  | 200              | REJECTED            | EMAIL\_INVALID                        | email is not a valid email format.                                                                                                                                                                                                                                                                                                                                                                                                                                                      | After correcting the email, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                   | Yes, after correcting email.                                |
  | 200              | REJECTED            | IBAN\_INVALID                         | iban can contain only alphabet and numbers.                                                                                                                                                                                                                                                                                                                                                                                                                                             | After correcting the iban, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                    | Yes, after correcting IBAN.                                 |
  | 200              | REJECTED            | TRANSFERMODE\_INVALID                 | transferMode can contain in one of banktransfer upi paytm amazonpay imps neft rtgs ppc.                                                                                                                                                                                                                                                                                                                                                                                                 | After correcting the transfermode, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                            | Yes, after correcting mode.                                 |
  | 200              | REJECTED            | CURRENCY\_INVALID                     | currency is invalid.                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | After correcting the currency, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                | Yes, after correcting currency.                             |
  | 200              | REJECTED            | ACCOUNT\_DOES\_NOT\_EXIST             | The transfer has been rejected because the beneficiary account/ VPA does not exist as per our partner bank.                                                                                                                                                                                                                                                                                                                                                                             | After correcting the account number, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                  | Yes, after correcting details.                              |
  | 200              | FAILED              | ACCOUNT\_DOES\_NOT\_EXIST             | The transfer has failed because the beneficiary account/ VPA does not exist as per our partner bank.                                                                                                                                                                                                                                                                                                                                                                                    | After correcting the account number, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                  | Yes, after correcting details.                              |
  | 200              | REJECTED            | AMAZON\_AMOUNT\_EXCEED                | The transfer has been rejected because the amount entered breaches the limits set for the beneficiaries amazon account.                                                                                                                                                                                                                                                                                                                                                                 | After verifying the limits for beneficiaries amazon account, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                          | Yes, after verifying limits.                                |
  | 200              | FAILED              | AMAZON\_AMOUNT\_EXCEED                | The transfer has failed because the amount entered breaches the limits set for the beneficiaries amazon account.                                                                                                                                                                                                                                                                                                                                                                        | After verifying the limits for beneficiaries amazon account, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                          | Yes, after verifying limits.                                |
  | 200              | REJECTED            | ANOMALY\_DETECTION                    | The transfer has been rejected as Cashfree risk product has detected an anamoly.                                                                                                                                                                                                                                                                                                                                                                                                        | You can reinitiate the transfer request after validation at your end.                                                                                                                                                                                                                                                                                                  | Yes, after validation.                                      |
  | 200              | APPROVAL\_PENDING   | ANOMALY\_DETECTION                    | The transfer requires approval as Cashfree risk product has detected an anamoly.                                                                                                                                                                                                                                                                                                                                                                                                        | You can approve/reject the transfer on the merchant dashboard. Post the transfer is approved, the request is sent to the partner bank for further processing.                                                                                                                                                                                                          | -                                                           |
  | 200              | FAILED              | BAD\_CONNECTION                       | The transfer has failed because there was an intermittent internal error between Cashfree and the partner bank.                                                                                                                                                                                                                                                                                                                                                                         | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, after some time.                                       |
  | 200              | REJECTED            | BENE\_INVALID                         | The transfer has been rejected because the beneficiary added in the transfer request does not exist.                                                                                                                                                                                                                                                                                                                                                                                    | After adding the right beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after adding beneficiary.                              |
  | 200              | FAILED              | BENE\_INVALID                         | The transfer has failed because the beneficiary added in the transfer request does not exist.                                                                                                                                                                                                                                                                                                                                                                                           | After adding the right beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after adding beneficiary.                              |
  | 200              | FAILED              | BENE\_NOT\_REGISTERED                 | The transfer has been rejected because the beneficiary added in the transfer request is not registered with the partner bank.                                                                                                                                                                                                                                                                                                                                                           | After adding the right beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after adding beneficiary.                              |
  | 200              | VALIDATION\_PENDING | BENE\_VERIFICATION\_PENDING           | The transfer is pending because the beneficiary verification is pending. Once the beneficiary is validated we will attempt the transfers with partner bank(s).                                                                                                                                                                                                                                                                                                                          | -                                                                                                                                                                                                                                                                                                                                                                      | -                                                           |
  | 200              | FAILED              | BENEFICIARY\_BANK\_UNAVAILABLE        | The transfer has failed because the respective beneficiary bank is offline.                                                                                                                                                                                                                                                                                                                                                                                                             | After some time, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                      | Yes, after some time.                                       |
  | 200              | FAILED              | BENEFICIARY\_NAME\_DIFFERS            | The transfer has failed because the beneficiary name differs as per Cashfree's partner bank.                                                                                                                                                                                                                                                                                                                                                                                            | After adding the right beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after correcting name.                                 |
  | 200              | REJECTED            | BENEFICIARY\_NAME\_DIFFERS            | The transfer has been rejected because the beneficiary name differs as per Cashfree's partner bank.                                                                                                                                                                                                                                                                                                                                                                                     | After adding the right beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after correcting name.                                 |
  | 200              | REJECTED            | BENEFICIARY\_NAME\_MISMATCH           | The transfer has been rejected because the beneficiary name differs as per Cashfree's partner bank.                                                                                                                                                                                                                                                                                                                                                                                     | After adding the right beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after correcting name.                                 |
  | 200              | REJECTED            | CARD\_UNSUPPORTED                     | The transfer has been rejected because the card is not supported.                                                                                                                                                                                                                                                                                                                                                                                                                       | After changing the payment instrument details, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                        | Yes, after changing instrument.                             |
  | 200              | FAILED              | CARD\_UNSUPPORTED                     | The transfer has failed because the card is not supported.                                                                                                                                                                                                                                                                                                                                                                                                                              | After changing the payment instrument details, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                        | Yes, after changing instrument.                             |
  | 200              | FAILED              | DUPLICATE\_FAILED                     | The transfer has failed as the bank claims of receiving a duplicate request at their end as of now.                                                                                                                                                                                                                                                                                                                                                                                     | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, with new id.                                           |
  | 200              | FAILED              | ERROR\_RETRIEVING\_BALANCE            | The transfer has failed because there was an intermittent issue at the partner bank's end.                                                                                                                                                                                                                                                                                                                                                                                              | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, after some time.                                       |
  | 200              | REJECTED            | INVALID\_CARD                         | The transfer has been rejected because the card details are not correct.                                                                                                                                                                                                                                                                                                                                                                                                                | After changing the payment instrument details, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                        | Yes, after correcting card.                                 |
  | 200              | FAILED              | INVALID\_CARD                         | The transfer has failed because the card details are not correct.                                                                                                                                                                                                                                                                                                                                                                                                                       | After changing the payment instrument details, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                        | Yes, after correcting card.                                 |
  | 200              | REJECTED            | INVALID\_CURRENCY\_FOR\_PYID          | The transfer has been rejected because the transfer currency passed in the transfer request is not supported by Cashfree.                                                                                                                                                                                                                                                                                                                                                               | After changing the currency to INR, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after changing currency.                               |
  | 200              | FAILED              | INVALID\_CURRENCY\_FOR\_PYID          | The transfer has been rejected because the transfer currency passed in the transfer request is not supported by Cashfree.                                                                                                                                                                                                                                                                                                                                                               | After changing the currency to INR, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after changing currency.                               |
  | 200              | FAILED              | INVALID\_MODE\_FAIL                   | The transfer has failed because the requested transfer mode is not supported for this beneficiary account as per the partner bank.                                                                                                                                                                                                                                                                                                                                                      | After changing the transfer mode, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                     | Yes, after changing mode.                                   |
  | 200              | REJECTED            | INVALID\_OR\_NO\_SUCH\_ACCOUNT\_TYPE  | The transfer has been rejected because the beneficiary account type is invalid or not supported as per our partner bank.                                                                                                                                                                                                                                                                                                                                                                | Get a new account from the beneficiary; you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                               | Yes, after new account.                                     |
  | 200              | FAILED              | INVALID\_OR\_NO\_SUCH\_ACCOUNT\_TYPE  | The transfer has failed because the beneficiary account type is invalid or not supported as per our partner bank.                                                                                                                                                                                                                                                                                                                                                                       | Get a new account from the beneficiary; you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                               | Yes, after new account.                                     |
  | 200              | FAILED              | INVALID\_PHONE\_BENEFICIARY           | The transfer has failed because the beneficiary's phone number is not linked to any VPA.                                                                                                                                                                                                                                                                                                                                                                                                | After adding the right phone beneficiary, You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                             | Yes, after correcting phone.                                |
  | 200              | REJECTED            | INVALID\_TRANSFER\_CURRENCY           | The transfer has been rejected because the transfer currency passed in the transfer request is not supported by Cashfree.                                                                                                                                                                                                                                                                                                                                                               | After changing the currency to INR, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after changing currency.                               |
  | 200              | FAILED              | INVALID\_TRANSFER\_CURRENCY           | The transfer has failed because the transfer currency passed in the transfer request is not supported by Cashfree.                                                                                                                                                                                                                                                                                                                                                                      | After changing the currency to INR, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                   | Yes, after changing currency.                               |
  | 200              | REJECTED            | KYC\_COMPLIANCE\_VERIFICATION\_FAILED | The transfer has failed because the KYC verification has failed.                                                                                                                                                                                                                                                                                                                                                                                                                        | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, after KYC resolution.                                  |
  | 200              | REJECTED            | KYC\_REQUIREMENTS\_NOT\_SATISFIED     | The transfer has failed because the KYC requirements have not been satisfied.                                                                                                                                                                                                                                                                                                                                                                                                           | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, after completing KYC.                                  |
  | 200              | FAILED              | LOAD\_LIMIT\_EXHAUSTED                | The transfer has failed because the beneficiaries account has reached maximum transaction amount limit.                                                                                                                                                                                                                                                                                                                                                                                 | After 24 hours, You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                       | Yes, after 24 hours.                                        |
  | 200              | FAILED              | LOAN\_FUND\_MOVEMENT\_FAILURE         | The transfer has failed because of an intermittent issue at Cashfree's end.                                                                                                                                                                                                                                                                                                                                                                                                             | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, after some time.                                       |
  | 200              | PENDING             | LOW\_BALANCE\_QUEUED                  | The transfer is pending because the balance in the fund source is exhausted. This transfer will be processed after you recharge the fund source, you need not reinitiate this transfer.                                                                                                                                                                                                                                                                                                 | This transfer will be processed after you recharge the fund source, you need not reinitiate this transfer. Please rely on check status API or webhook for checking the status of this transfer.                                                                                                                                                                        | -                                                           |
  | 200              | REJECTED            | MANUALLY\_REJECTED                    | The transfer has been manually rejected by you.                                                                                                                                                                                                                                                                                                                                                                                                                                         | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree.                                                                                                                                                                                                                                                                | Yes, if needed.                                             |
  | 200              | REJECTED            | PAYOUT\_INACTIVE                      | The transfer has been rejected because your payout account has been inactive.                                                                                                                                                                                                                                                                                                                                                                                                           | After getting the account activated, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                  | Yes, after activation.                                      |
  | 200              | PENDING             | PENDING                               | The transfer is currently in a Pending state, as Cashfree is awaiting a final confirmation from the partner bank for a terminal status.                                                                                                                                                                                                                                                                                                                                                 | Rely on Check Status API or Webhooks                                                                                                                                                                                                                                                                                                                                   | -                                                           |
  | 200              | FAILED              | POOL\_CONNECTION\_TIMEOUT             | The transfer has failed because there was a connection issue with the partner bank's end.                                                                                                                                                                                                                                                                                                                                                                                               | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, after some time.                                       |
  | 200              | REJECTED            | QUICK\_TRANSFER\_DISABLED             | The transfer has been rejected because quick transfer is disabled for your payout account.                                                                                                                                                                                                                                                                                                                                                                                              | After getting quick transfer enabled, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                 | Yes, after enabling.                                        |
  | 200              | REJECTED            | REJECTED                              | Transfer rejected.                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | -                                                                                                                                                                                                                                                                                                                                                                      | Yes, after correction.                                      |
  | 200              | REVERSED            | REVERSED                              | The transfer has been reversed by the beneficiary bank as the credit to end-beneficiary's account has failed.                                                                                                                                                                                                                                                                                                                                                                           | You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                                                       | Yes, after correction.                                      |
  | 200              | FAILED              | RTGS\_MODE\_FAIL                      | The transfer has failed because the beneficiary account doesnot support RTGS transfers.                                                                                                                                                                                                                                                                                                                                                                                                 | You can try NEFT or other channels to do the disbursals.                                                                                                                                                                                                                                                                                                               | Yes, via different mode.                                    |
  | 200              | FAILED              | SUSPECTED\_FAILED                     | The transfer has failed, as the partner bank suspects that the transfer is of fraudulent nature.                                                                                                                                                                                                                                                                                                                                                                                        | -                                                                                                                                                                                                                                                                                                                                                                      | No (investigate).                                           |
  | 200              | REJECTED            | VBA\_TRANSFER\_DISABLED               | The transfer has been rejected because transfers to virtual bank accounts are not enabled for your Cashfree Account.                                                                                                                                                                                                                                                                                                                                                                    | After getting payouts to virtual bank accounts enabled, you can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s). You can connect with Cashfree for enabling payouts to virtual bank accounts.                                                                                                  | Yes, after enabling.                                        |
  | 200              | REJECTED            | ERROR\_SELECTING\_FUND\_SOURCE        | The transfer has been rejected because their is some issue with your account configuration.                                                                                                                                                                                                                                                                                                                                                                                             | You can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                                                               | Yes, after fixing config.                                   |
  | 200              | VALIDATION\_PENDING | VALIDATION\_PENDING                   | The transfer is pending because the beneficiary verification is pending. Once the beneficiary is validated we will attempt the transfers with partner bank(s).                                                                                                                                                                                                                                                                                                                          | Rely on Check Status API or Webhooks                                                                                                                                                                                                                                                                                                                                   | -                                                           |
  | 200              | REJECTED            | INVALID\_BENEFICIARY\_CODE            | The transfer has been rejected because the bene code is Invalid.                                                                                                                                                                                                                                                                                                                                                                                                                        | After correcting the beneficiary code, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).                                                                                                                                                                                                        | Yes, after correcting code.                                 |
  | 200              | REJECTED            | DUPLICATE\_TRANSFER                   | The transfer is already present in the file or has been processed previously. Please change the transferId in the api request.                                                                                                                                                                                                                                                                                                                                                          | After changing the Transfer Id, You can reinitiate the transfer via Cashfree so that the transfer can be reattempted again by Cashfree with the partner bank(s).                                                                                                                                                                                                       | Yes, with new transfer id.                                  |

  #### 4XX errors

  | HTTP status code | Error code                                                                           | Message                                                                                                            | Next action                                                                  |
  | :--------------- | :----------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------- |
  | 400              | transfer\_id\_missing                                                                | transfer\_id is missing in the request                                                                             | Enter a valid transfer\_id in the request.                                   |
  | 400              | transfer\_id\_invalid                                                                | transfer\_id should be alphanumeric                                                                                | Enter a valid transfer\_id in the request.                                   |
  | 400              | transfer\_amount\_invalid                                                            | transfer\_amount should be greater then 1.00                                                                       | Enter an amount greater than 1.00.                                           |
  | 400              | transfer\_amount\_missing                                                            | transfer\_amount is missing in the request                                                                         | Provide a value for the transfer\_amount parameter in the request.           |
  | 400              | transfer\_mode\_invalid                                                              | transfer\_mode is invalid allowed values are : bank, imps, neft, rtgs, upi, paytm, amazonpay, card and cardupi     | Provide a valid transfer\_mode in the request.                               |
  | 400              | beneficiary\_details.beneficiary\_id\_invalid                                        | beneficiary\_id should be alphanumeric                                                                             | Enter a valid beneficiary\_id.                                               |
  | 400              | beneficiary\_details.beneficiary\_name\_invalid                                      | beneficiary\_name is invalid. only alphabets and whitespaces are allowed                                           | Enter a valid beneficiary\_id.                                               |
  | 400              | beneficiary\_details.beneficiary\_instrument\_details.bank\_account\_number\_invalid | bank\_account\_number should be alphanumeric                                                                       | Enter a valid bank\_account\_number.                                         |
  | 400              | beneficiary\_details.beneficiary\_instrument\_details.bank\_account\_number\_invalid | Bank account number passed in the request does not match with the beneficiary with beneficiary\_id :: test\_beneId | Enter the correct bank\_account\_number associated with the beneficiary\_id. |
  | 400              | beneficiary\_details.beneficiary\_instrument\_details.bank\_ifsc\_invalid            | bank\_ifsc should be in standard ifsc format                                                                       | Enter a valid bank\_ifsc.                                                    |
  | 400              | beneficiary\_details.beneficiary\_instrument\_details.bank\_ifsc\_invalid            | Bank ifsc passed in the request does not match with the beneficiary with beneficiary\_id :: test\_beneId           | Enter the correct bank\_ifsc associated with the beneficiary\_id.            |
  | 400              | beneficiary\_details.beneficiary\_instrument\_details.vpa\_invalid                   | vpa is in invalid format                                                                                           | Enter a valid VPA.                                                           |
  | 400              | beneficiary\_details.beneficiary\_instrument\_details.vpa\_invalid                   | Vpa passed in the request does not match with the beneficiary with beneficiary\_id :: test\_beneId                 | Enter the correct vpa associated with the beneficiary\_id.                   |
  | 404              | beneficiary\_not\_found                                                              | Beneficiary does not exist                                                                                         | Enter a valid beneficiary\_id.                                               |

  <br />
</Accordion>


## OpenAPI

````yaml post /transfers
openapi: 3.0.0
info:
  version: '2024-01-01'
  title: Cashfree Payout APIs
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  contact:
    email: developers@cashfree.com
    name: API Support
    url: https://discord.com/invite/QdZkNSxXsB
  description: >-
    Cashfree's Payout APIs provide developers with a streamlined pathway to
    integrate advanced payout capabilities into their applications, platforms
    and websites.
servers:
  - url: https://sandbox.cashfree.com/payout
    description: Sandbox server
  - url: https://api.cashfree.com/payout
    description: Production server
security: []
tags:
  - name: V2 Apis
    description: >-
      Collection of APIs to transfer funds to beneficiaries and manage
      beneficiaries.
externalDocs:
  url: https://api.cashfree.com/payout
  description: This url will have the information of all the APIs.
paths:
  /transfers:
    post:
      tags:
        - Transfers v2
      summary: Standard Transfer V2
      description: >-
        Use this API to initiate an amount transfer at Cashfree Payments. It is
        an async request by default.
      operationId: PayoutInitiateTransfer
      parameters:
        - $ref: '#/components/parameters/apiVersionHeader'
        - $ref: '#/components/parameters/xRequestIDHeader'
        - $ref: '#/components/parameters/xCfSignature'
      requestBody:
        description: >-
          Find the request parameters of the API request to transfer money to a
          beneficiary.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTransferRequest'
            examples:
              transfer_request:
                $ref: '#/components/examples/transfer_request_v2'
              transfer_request_with_bene_details:
                $ref: '#/components/examples/transfer_request_v2_with_bene_details'
              transfer_request_with_card_details:
                $ref: '#/components/examples/transfer_request_v2_with_card_details'
              transfer_request_with_fundsource_id:
                $ref: '#/components/examples/transfer_request_v2_fundsource_id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTransferResponse'
              examples:
                transfer_received_response_v2:
                  $ref: '#/components/examples/transfer_received_response_v2'
                transfer_pending_approval_response_v2:
                  $ref: '#/components/examples/transfer_pending_approval_response_v2'
                transfer_pending_response_v2:
                  $ref: '#/components/examples/transfer_pending_response_v2'
                transfer_completed_response:
                  $ref: '#/components/examples/transfer_completed_response_v2'
                transfer_failed_response_v2:
                  $ref: '#/components/examples/transfer_failed_response_v2'
                transfer_rejected_response_v2:
                  $ref: '#/components/examples/transfer_rejected_response_v2'
          headers:
            x-api-version:
              $ref: '#/components/headers/x-api-version'
            x-ratelimit-limit:
              $ref: '#/components/headers/x-ratelimit-limit'
            x-ratelimit-remaining:
              $ref: '#/components/headers/x-ratelimit-remaining'
            x-ratelimit-retry:
              $ref: '#/components/headers/x-ratelimit-retry'
            x-request-id:
              $ref: '#/components/headers/x-request-id'
        '400':
          description: invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV2'
              examples:
                transfer_id_missing:
                  $ref: '#/components/examples/transfer_id_missing'
                transfer_id_invalid:
                  $ref: '#/components/examples/transfer_id_invalid'
                transfer_amount_invalid:
                  $ref: '#/components/examples/transfer_amount_invalid'
                transfer_amount_missing:
                  $ref: '#/components/examples/transfer_amount_missing'
                transfer_mode_invalid:
                  $ref: '#/components/examples/transfer_mode_invalid'
                beneficiary_id_invalid:
                  $ref: '#/components/examples/beneficiary_id_invalid'
                beneficiary_name_invalid:
                  $ref: '#/components/examples/beneficiary_name_invalid'
                beneficiary_bank_account_invalid:
                  $ref: '#/components/examples/beneficiary_bank_account_invalid'
                beneficiary_bank_account_invalid_2:
                  $ref: '#/components/examples/beneficiary_bank_account_invalid_2'
                beneficiary_bank_ifsc_invalid:
                  $ref: '#/components/examples/beneficiary_bank_ifsc_invalid'
                beneficiary_bank_ifsc_invalid_2:
                  $ref: '#/components/examples/beneficiary_bank_ifsc_invalid_2'
                beneficiary_vpa_invalid:
                  $ref: '#/components/examples/beneficiary_vpa_invalid'
                beneficiary_vpa_invalid_2:
                  $ref: '#/components/examples/beneficiary_vpa_invalid_2'
        '403':
          description: Forbidden error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV2'
              examples:
                APIDisabled:
                  $ref: '#/components/examples/APIsDisabledExampleV2'
        '404':
          description: Resource not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV2'
              examples:
                APIDisabled:
                  $ref: '#/components/examples/BeneficiaryNotFoundV2'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorV2'
              examples:
                APIDisabled:
                  $ref: '#/components/examples/internal_server_error_v2'
                AuthenticationError:
                  $ref: '#/components/examples/authentication_internal_server_error'
      deprecated: false
      security:
        - XClientID: []
          XClientSecret: []
components:
  parameters:
    apiVersionHeader:
      in: header
      name: x-api-version
      required: true
      description: It is the API version to be used. The accepted format is YYYY-MM-DD.
      schema:
        type: string
        description: It is the API version to be used.
        default: '2024-01-01'
      example: '2024-01-01'
    xRequestIDHeader:
      in: header
      name: x-request-id
      description: >-
        Request ID for the API call. Can be used to resolve tech issues.
        Communicate this in your tech related queries to Cashfree.
      required: false
      schema:
        type: string
      example: 4dfb9780-46fe-11ee-be56-0242ac120002
    xCfSignature:
      in: header
      name: x-cf-signature
      description: Signature to be sent if IP is not whitelisted.
      required: false
      schema:
        type: string
  schemas:
    CreateTransferRequest:
      title: Standard Transfer V2
      description: Standard Transfer V2
      type: object
      properties:
        transfer_id:
          type: string
          description: >-
            It is the unique ID you create to identify the transfer. You can use
            a maximum of 40 characters to create a transfer_id.  Alphanumeric
            and underscore ( _ ) are allowed.
          maxLength: 40
        transfer_amount:
          type: number
          format: double
          description: >-
            It is the transfer amount. Decimal values are allowed. The minimum
            value should be equal to or greater than 1.00. (>= 1.00)
        transfer_currency:
          type: string
          description: It is the currency of the transfer amount. The default value is INR.
        transfer_mode:
          type: string
          description: >-
            It is the mode of transfer. Allowed values are banktransfer, imps,
            neft, rtgs, upi, paytm, amazonpay, card. The default transfer_mode
            is banktransfer.
          enum:
            - banktransfer
            - imps
            - neft
            - rtgs
            - upi
            - paytm
            - amazonpay
            - card
            - cardupi
          maxLength: 20
        beneficiary_details:
          type: object
          description: >-
            It should contain the details of the beneficiary who receives the
            transfer amount.
          properties:
            beneficiary_id:
              type: string
              description: >-
                It is the unique ID you created to identify the beneficiary.
                Alphanumeric characters are allowed.
            beneficiary_name:
              type: string
              description: >-
                It is the name of the beneficiary. The maximum character limit
                is 100.  Only alphabets and whitespaces are allowed. It is
                required if beneficiary_id is not present.
            beneficiary_instrument_details:
              type: object
              description: >-
                It should contain the details of where the beneficiary will
                receive the money. You input these details if you haven't added
                the beneficiary in the Payouts dashboard.
              properties:
                bank_account_number:
                  type: string
                  description: >-
                    It is the beneficiary bank account number. The value should
                    be between 9 and 18 characters. Alphanumeric characters are
                    allowed. This value is required if beneficiary_id is not
                    present and if the transfer_mode is banktransfer, imps,
                    neft,rtgs mode.
                bank_ifsc:
                  type: string
                  description: >-
                    It is the IFSC information of the beneficiary's bank account
                    in the standard IFSC format. The value should be 11
                    characters. (The first 4 characters should be alphabets, the
                    5th character should be a 0, and the remaining 6 characters
                    should be numerals.)
                vpa:
                  type: string
                  description: >-
                    It is the UPI VPA information of the beneficiary. Only valid
                    UPI VPA information is accepted. It can be an Alphanumeric
                    value with only period (.), hyphen (-), underscore ( _ ),
                    and at the rate of (@). Hyphen (-) is accepted only before
                    at the rate of (@). This value is required if the
                    transfer_mode is upi.
                card_details:
                  type: object
                  description: It should contain the card details of the beneficiary.
                  properties:
                    card_token:
                      type: string
                      description: >-
                        It is the tokenised card number or card token for this
                        transfer.
                    card_network_type:
                      type: string
                      description: It is the network type of the card - VISA/MASTERCARD.
                      enum:
                        - VISA
                        - MASTERCARD
                    card_cryptogram:
                      type: string
                      description: >-
                        It is the formatted chip/cryptogram data relating to the
                        token cryptogram. The maximum character limit is 600. It
                        is optional for MASTERCARD and not required for VISA.
                    card_token_expiry:
                      type: string
                      description: >-
                        It is applicable only for MASTERCARD. The format for the
                        valid token expiry date should be YYYY-MM. It cannot be
                        null. Provide a valid tokenExpiry if collected from the
                        customers. If unavailable, populate a static value with
                        a forward year and month in the correct format
                        (YYYY-MM). The maximum character limit is 10.
                    card_type:
                      type: string
                      description: >-
                        It is the type of the card. DEBIT and CREDIT are the
                        only values allowed. The default value is CREDIT if the
                        parameter does not exist or not specified.
                    card_token_PAN_sequence_number:
                      type: string
                      description: >-
                        A maximum of 3 alphanumeric characters are allowed. It
                        is an optional parameter for MASTERCARD.
            beneficiary_contact_details:
              type: object
              description: It should contain the contact details of the beneficiary.
              properties:
                beneficiary_email:
                  type: string
                  description: >-
                    It is the email address of the beneficiary. The maximum
                    character limit is 200. It should contain dot (.) and at the
                    rate of (@).
                beneficiary_phone:
                  type: string
                  description: >-
                    It is the phone number of the beneficiary. Only registered
                    Indian phone numbers are allowed. The value should be
                    between 8 and 12 characters after stripping +91.
                beneficiary_country_code:
                  type: string
                  description: >-
                    It is the country code (+91) of the beneficiary's phone
                    number.
                beneficiary_address:
                  type: string
                  description: >-
                    It should contain the address of the beneficiary. The
                    maximum character limit is 150. Alphanumeric characters and
                    whitespaces are allowed.
                beneficiary_city:
                  type: string
                  description: >-
                    It is the name of the city as present in the beneficiary
                    address. The maximum character limit is 50. Alphanumeric
                    characters and whitespaces are allowed.
                beneficiary_state:
                  type: string
                  description: >-
                    It is the name of the state as present in the beneficiary
                    address. The maximum character limit is 50. Alphanumeric
                    characters and whitespaces are allowed.
                beneficiary_postal_code:
                  type: string
                  description: >-
                    It is the PIN code as present in the address. It should be a
                    6 character numeric value.
        transfer_remarks:
          type: string
          description: >-
            It can contain any additional remarks for the transfer. Alphanumeric
            and whitespaces are allowed. The maximum character limit is 70.
          maxLength: 70
        fundsource_id:
          type: string
          description: >-
            It is the ID of the fund source from which the transfer amount will
            be debited.
      required:
        - transfer_amount
        - transfer_id
        - beneficiary_details
    CreateTransferResponse:
      title: Standard Transfer V2 Response
      description: Standard Transfer V2 Response
      type: object
      properties:
        transfer_id:
          description: It displays the unique ID you created to identify the transfer.
          type: string
        cf_transfer_id:
          description: >-
            It displays the unique ID created by Cashfree Payments. You receive
            this ID in the response after initiating the standard transfer
            request.
          type: string
        status:
          description: It displays the status of the transfer.
          type: string
        beneficiary_details:
          type: object
          description: It displays the details of the beneficiary.
          properties:
            beneficiary_id:
              description: >-
                It displays the unique ID to identify the beneficiary to whom
                you initiated the transfer request.
              type: string
            beneficiary_instrument_details:
              type: object
              description: >-
                It displays the details of where the beneficiary will receive
                the money.
              properties:
                bank_account_number:
                  type: string
                  description: It displays the bank account number of the beneficiary.
                ifsc:
                  type: string
                  description: >-
                    It displays the IFSC information of the beneficiary's bank
                    account.
                vpa:
                  type: string
                  description: It displays the UPI VPA information of the beneficiary.
        transfer_amount:
          description: It displays the transfer amount initiated in the request.
          type: number
          format: double
        transfer_service_charge:
          description: >-
            It displays the service charge applicable for the successful
            transfer request.
          type: number
          format: double
        transfer_service_tax:
          description: >-
            It displays the service tax applicable for the successful transfer
            request.
          type: number
          format: double
        transfer_mode:
          description: It displays the mode of the transfer.
          type: string
        transfer_utr:
          description: >-
            It displays the unique number that is generated to recognise any
            fund transfer that is created by the bank that facilitates the
            transfer.
          type: string
        fundsource_id:
          description: >-
            It displays the ID of the fund source from where the money was
            debited for this transfer request.
          type: string
        added_on:
          description: >-
            It displays the time of when the transfer request was added to the
            system.
          type: string
        updated_on:
          description: It displays the updated time for the transfer.
          type: string
    ErrorV2:
      title: Error
      description: Error Response for non-2XX cases
      type: object
      properties:
        type:
          type: string
          description: Type of the error received
        code:
          type: string
          description: Code of the error received
        message:
          type: string
          description: Detailed message explaining the response
  examples:
    transfer_request_v2:
      summary: Transfer request with beneficiary_id
      description: The API request to iniate a transfer with beneficiary_id
      value:
        transfer_id: JUNOB2018
        transfer_amount: 1
        beneficiary_details:
          beneficiary_id: JOHN18011
    transfer_request_v2_with_bene_details:
      summary: Transfer request with beneficiary_details
      description: The API request to iniate a transfer with beneficiary_details
      value:
        transfer_id: JUNOB2018
        transfer_amount: 1
        transfer_mode: imps
        beneficiary_details:
          beneficiary_details:
            beneficiary_instrument_details:
              bank_account_number: '1234554321'
              bank_ifsc: SBIN0001161
    transfer_request_v2_with_card_details:
      summary: Transfer request with card_details
      description: The API request to iniate a transfer with card_details
      value:
        transfer_id: JUNOB2018
        transfer_amount: 1
        transfer_mode: imps
        beneficiary_details:
          beneficiary_details:
            beneficiary_instrument_details:
              card_details:
                card_token: '4640837721072836'
                card_network_type: MASTERCARD
                card_cryptogram: jjoutwsdgfdou124354ljlsdhgout968957
                card_token_expiry: 2032-10
                card_type: CREDIT
                card_token_PAN_sequence_number: '001'
    transfer_request_v2_fundsource_id:
      summary: >-
        Transfer request with fundsource_id (when you want to debit money from a
        particular fund source)
      description: >-
        The API request to initiate a transfer and debit the money from a
        particular fund source
      value:
        transfer_id: JUNOB2018
        transfer_amount: 1
        transfer_mode: imps
        beneficiary_details:
          beneficiary_details:
            beneficiary_id: JOHN18011
        fundsource_id: CASHFREE_1
    transfer_received_response_v2:
      summary: Transfer received
      description: >-
        Transfer received by Cashfree Payments. Please check the status after
        some time.
      value:
        transfer_id: JUNOB2018
        cf_transfer_id: '123456'
        status: RECEIVED
        status_code: RECEIVED
        status_description: >-
          The transfer has been received by Cashfree successfully for further
          processing. You should use Check Status API response or Webhooks to
          know the terminal state of the transfer request.
        beneficiary_details:
          beneficiary_id: JOHN18011
        transfer_amount: 1
        transfer_mode: BANK
        fundsource_id: CASHFREE_1
        added_on: '2021-11-24T13:39:25Z'
        updated_on: '2021-11-24T13:40:27Z'
    transfer_pending_approval_response_v2:
      summary: Transfer is pending for approval
      description: Transfer is pending for approval.
      value:
        transfer_id: JUNOB2018
        cf_transfer_id: '123456'
        status: APPROVAL_PENDING
        status_code: APPROVAL_PENDING
        status_description: >-
          The transfer requires approval. You can approve or reject the transfer
          request from the Cashfree Merchant Dashboard.
        beneficiary_details:
          beneficiary_id: JOHN18011
        transfer_amount: 1
        transfer_mode: BANK
        fundsource_id: CASHFREE_1
        added_on: '2021-11-24T13:39:25Z'
        updated_on: '2021-11-24T13:40:27Z'
    transfer_pending_response_v2:
      summary: Transfer pending at the bank
      description: >-
        Transfer initiated by Cashfree Payments and is pending at the bank's
        side
      value:
        transfer_id: JUNOB2018
        cf_transfer_id: '123456'
        status: PENDING
        status_code: PENDING
        status_description: >-
          The transfer is currently in a Pending state, as Cashfree is awaiting
          a final confirmation from the partner bank for a terminal status. You
          should rely only on Check Status API response or Webhooks to know the
          terminal state of the transfer request.
        beneficiary_details:
          beneficiary_id: JOHN18011
          beneficiary_instrument_details:
            bank_account_number: '7766671501729'
            bank_ifsc: SBIN0000003
        transfer_amount: 1
        transfer_mode: BANK
        transfer_utr: TESTR92023012200543116
        fundsource_id: CASHFREE_1
        added_on: '2021-11-24T13:39:25Z'
        updated_on: '2021-11-24T13:40:27Z'
    transfer_completed_response_v2:
      summary: Transfer completed successfully
      description: Transfer completed successfully
      value:
        transfer_id: JUNOB2018
        cf_transfer_id: '123456'
        status: SUCCESS
        status_code: COMPLETED
        status_description: >-
          The transfer has been initiated via the partner bank successfully,
          hence your account is debited and the request is successfuly processed
          by the beneficiary bank and has been credited to the end beneficiary.
        beneficiary_details:
          beneficiary_id: JOHN18011
          beneficiary_instrument_details:
            bank_account_number: '7766671501729'
            bank_ifsc: SBIN0000003
        transfer_amount: 1
        transfer_service_charge: 1
        transfer_service_tax: 0.18
        transfer_mode: BANK
        transfer_utr: TESTR92023012200543116
        fundsource_id: CASHFREE_1
        added_on: '2021-11-24T13:39:25Z'
        updated_on: '2021-11-24T13:40:27Z'
    transfer_failed_response_v2:
      summary: Transfer failed
      description: Amount cannot be transferred to beneficiary as the transfer failed
      value:
        transfer_id: JUNOB2018
        cf_transfer_id: '123456'
        status: FAILED
        status_code: IMPS_MODE_FAIL
        status_description: >-
          The transfer has been reversed by the beneficiary bank because the
          beneficiary bank account doesnot support IMPS transfers. This
          rejection is done by the beneficiary bank for the specific beneficiary
          account. You can try NEFT or other channels to do the disbursals.
        beneficiary_details:
          beneficiary_id: JOHN18011
          beneficiary_instrument_details:
            bank_account_number: '7766671501729'
            bank_ifsc: SBIN0000003
        transfer_amount: 1
        transfer_mode: BANK
        fundsource_id: CASHFREE_1
        added_on: '2021-11-24T13:39:25Z'
        updated_on: '2021-11-24T13:40:27Z'
    transfer_rejected_response_v2:
      summary: Transfer rejected
      description: >-
        The transfer has been rejected by Cashfree Oatnebts. Please review the
        'status_description' field to understand the reason for rejection.
      value:
        transfer_id: JUNOB2018
        cf_transfer_id: '123456'
        status: REJECTED
        status_code: INVALID_MODE_FOR_PYID
        status_description: >-
          The transfer has been rejected because the payment instrument does not
          support this mode of transfer. You should get this mode activated on
          the payment instrument ID by contacting Cashfree, and then initiate a
          new transfer request.
        beneficiary_details:
          beneficiary_id: JOHN18011
        transfer_amount: 1
        transfer_mode: BANK
        fundsource_id: CASHFREE_1
        added_on: '2021-11-24T13:39:25Z'
        updated_on: '2021-11-24T13:40:27Z'
    transfer_id_missing:
      description: Missing transfer_id
      value:
        type: invalid_request_error
        code: transfer_id_missing
        message: transfer_id is missing in the request
    transfer_id_invalid:
      description: Invalid transfer_id
      value:
        type: invalid_request_error
        code: transfer_id_invalid
        message: transfer_id should be alphanumeric
    transfer_amount_invalid:
      description: Invalid transfer_amount
      value:
        type: invalid_request_error
        code: transfer_amount_invalid
        message: transfer_amount should be greater then 1.00
    transfer_amount_missing:
      description: Misisng transfer_amount
      value:
        type: invalid_request_error
        code: transfer_amount_missing
        message: transfer_amount is missing in the request
    transfer_mode_invalid:
      description: Invalid transfer_mode
      value:
        type: invalid_request_error
        code: transfer_mode_invalid
        message: >-
          transfer_mode is invalid allowed values are : bank, imps, neft, rtgs,
          upi, paytm, amazonpay, card and cardupi
    beneficiary_id_invalid:
      description: Invalid beneficiary_id
      value:
        type: invalid_request_error
        code: beneficiary_details.beneficiary_id_invalid
        message: beneficiary_id should be alphanumeric
    beneficiary_name_invalid:
      description: Invalid beneficiary_name
      value:
        type: invalid_request_error
        code: beneficiary_details.beneficiary_name_invalid
        message: >-
          beneficiary_name is invalid. only alphabets and whitespaces are
          allowed
    beneficiary_bank_account_invalid:
      description: Invalid beneficiary bank account details
      value:
        type: invalid_request_error
        code: >-
          beneficiary_details.beneficiary_instrument_details.bank_account_number_invalid
        message: bank_account_number should be alphanumeric
    beneficiary_bank_account_invalid_2:
      description: >-
        Bank account number in the request does not match with the beneficiary's
        bank account number
      value:
        type: invalid_request_error
        code: >-
          beneficiary_details.beneficiary_instrument_details.bank_account_number_invalid
        message: >-
          Bank account number passed in the request does not match with the
          beneficiary with beneficiary_id :: test_beneId
    beneficiary_bank_ifsc_invalid:
      description: Invalid IFSC
      value:
        type: invalid_request_error
        code: beneficiary_details.beneficiary_instrument_details.bank_ifsc_invalid
        message: bank_ifsc should be in standard ifsc format
    beneficiary_bank_ifsc_invalid_2:
      description: IFSC in the request does not match with the beneficiary's IFSC
      value:
        type: invalid_request_error
        code: beneficiary_details.beneficiary_instrument_details.bank_ifsc_invalid
        message: >-
          Bank ifsc passed in the request does not match with the beneficiary
          with beneficiary_id :: test_beneId
    beneficiary_vpa_invalid:
      description: Invalid beneficiary VPA
      value:
        type: invalid_request_error
        code: beneficiary_details.beneficiary_instrument_details.vpa_invalid
        message: vpa is in invalid format
    beneficiary_vpa_invalid_2:
      description: VPA in the request does not match with the beneficiary's VPA
      value:
        type: invalid_request_error
        code: beneficiary_details.beneficiary_instrument_details.vpa_invalid
        message: >-
          Vpa passed in the request does not match with the beneficiary with
          beneficiary_id :: test_beneId
    APIsDisabledExampleV2:
      summary: APIs disabled
      description: Forbidden request. APIs are disabled
      value:
        type: invalid_request_error
        code: apis_not_enabled
        message: >-
          APIs not enabled. Please fill out the [Support
          Form](https://merchant.cashfree.com/merchants/landing?env=prod&raise_issue=1)
    BeneficiaryNotFoundV2:
      summary: Beneficiary not found
      description: Beneficiary does not exist
      value:
        type: invalid_request_error
        code: beneficiary_not_found
        message: Beneficiary does not exist
    internal_server_error_v2:
      summary: Internal server error
      description: Error at Cashfree Payments' server
      value:
        type: api_error
        code: internal_server_error
        message: Error at cashfree's server
    authentication_internal_server_error:
      summary: Internal server error while authenticating request
      description: Internal server error while authenticating request
      value:
        type: authentication_error
        code: internal_server_error
        message: >-
          Unable to authenticate the request. Please fill out the [Support
          Form](https://merchant.cashfree.com/merchants/landing?env=prod&raise_issue=1)
  headers:
    x-api-version:
      schema:
        type: string
        format: YYYY-MM-DD
        enum:
          - '2022-09-01'
      description: It displays the API version. The current version is `2022-09-01`.
    x-ratelimit-limit:
      schema:
        type: integer
      example: 200
      description: >-
        It displays the rate limit per minute set for your account for this API
        request.
    x-ratelimit-remaining:
      schema:
        type: integer
      example: 2
      description: >-
        It displays the remaining rate limit in the next minute for your account
        for this API requeste. Uses sliding window.
    x-ratelimit-retry:
      schema:
        type: integer
      example: 4
      description: |
        It displays the number of seconds to wait if the rate limit is breached
        - Is 0 if withing the limit
        - Is between 1 and 59 if breached
    x-request-id:
      schema:
        type: string
      example: some-req-id
      description: >-
        It displays the request ID for the API request. Is blank or null if no
        `x-request-id` is sent during the request
  securitySchemes:
    XClientID:
      type: apiKey
      in: header
      name: x-client-id
      description: >-
        Client app ID. You can find your app ID in the [Merchant
        Dashboard](https://merchant.cashfree.com/payouts/developers/api-keys).
    XClientSecret:
      type: apiKey
      in: header
      name: x-client-secret
      description: >-
        Client secret key. You can find your secret key in the [Merchant
        Dashboard]((https://merchant.cashfree.com/payouts/developers/api-keys).

````