Beneficiary V2
Create Beneficiary V2
Click to view the response codes.
HTTP Status Code | Error Code | Message | Next Action |
---|---|---|---|
201 | - | - | - |
400 | beneficiary_id_length_exceeded | beneficiary_id : should not be more than 50 characters long. value received: test_bene_id | Enter a valid beneficiary_id. |
400 | beneficiary_id_invalid | beneficiary_id : should contain only letters, numbers, hyphen, underscore, pipe, and dot. Value received: .\qewqefwqev | Enter a valid beneficiary_id. |
400 | bank_ifsc_missing | bank_ifsc : should be provided with the request if bank_account_number is provided | Provide a valid bank_ifsc if bank_account_number is provided. |
400 | bank_account_number_missing | bank_account_number: should be provided with the request if bank_ifsc is provided | Provide a valid bank_account_number is bank_ifsc is provided. |
400 | bank_account_number_length_exceeded | bank_account_number : should not be more than 25 characters long. value received: 235142352346523462456345263452345 | Provide a valid bank_account_number. |
400 | bank_account_number_length_short | bank_account_number : should not be less than 4 characters long. value received: 12 | Provide a valid bank_account_number. |
400 | bank_account_number_invalid | bank_account_number : should be alphanumeric. value received: 123@ | Provide a valid bank_account_number. |
400 | bank_ifsc_invalid | bank_ifsc : please provide a valid IFSC. value received: SBIN00708410 | Provide a valid bank_ifsc. |
400 | beneficiary_purpose_invalid | beneficiary_purpose : invalid value provided. Value received: paytm | Provide a valid beneficiary_purpose. |
409 | beneficiary_id_already_exists | Beneficiary already exists with the given beneficiary_id | Provide a beneficiary_id that is not in use |
409 | beneficiary_already_exists | Beneficiary already exists with the given bank_account_number and bank_ifsc | Use the GET API to get the details of the existing beneficiary using bank_account_number and bank_ifsc |
422 | bank_account_number_same_as_source | bank_account_number provided is the same as source bank account | Enter a bank_account_number that is different from the source bank account |
422 | vba_beneficiary_not_allowed | Virtual bank account as bank_account_number for the beneficiary is not allowed | Enter the actual bank_account_number instead of the virtual account number |
Get Beneficiary V2
Click to view the response codes.
HTTP Status Code | Error Code | Message | Next Action |
---|---|---|---|
200 | - | - | - |
400 | too_many_parameters_in_request | Please provide either bank_account_number and bank_ifsc together or beneficiary_id alone. Do not include all three parameters in the request | Please provide either bank_account_number and bank_ifsc together or beneficiary_id alone. Do not include all three parameters in the request. |
400 | bank_ifsc_missing | bank_ifsc : should be provided with the request if bank_account_number is provided | Provide a valid bank_ifsc if bank_account_number is provided. |
400 | bank_account_number_missing | bank_account_number: should be provided with the request if bank_ifsc is provided | Provide a valid bank_account_number is bank_ifsc is provided. |
400 | beneficiary_identifiers_missing | beneficiary_identifiers_missing beneficiary_identifiers : Either beneficiary_id or the combination of bank_account_number and bank_ifsc has to be provided with the request | Please provide either beneficiary_id or the combination of bank_account_number and bank_ifsc. |
400 | beneficiary_id_length_exceeded | beneficiary_id : should not be more than 50 characters long. value received: test_bene_id | Enter a valid beneficiary_id |
400 | beneficiary_id_invalid | beneficiary_id : should contain only letters, numbers, hyphen, underscore, pipe, and dot. Value received: .\qewqefwqev | Enter a valid beneficiary_id. |
400 | bank_account_number_length_exceeded | bank_account_number : should not be more than 25 characters long. value received: 235142352346523462456345263452345 | Provide a valid bank_account_number. |
400 | bank_account_number_length_short | bank_account_number : should not be less than 4 characters long. value received: 12 | Provide a valid bank_account_number. |
.400 | bank_account_number_invalid | bank_account_number : should be alphanumeric. value received: 123@ | Provide a valid bank_account_number. |
400 | bank_ifsc_invalid | bank_ifsc : please provide a valid IFSC. value received: SBIN00708410 | Provide a valid bank_ifsc. |
404 | beneficiary_not_found | Beneficiary does not exist | Provide the details of an existing beneficiary. If such a beneficiary does not exist, use CREATE API to create a new beneficiary. |
404 | beneficiary_not_found | Beneficiary with the given bank_account_number and bank_ifsc does not exist | Provide the details of an existing beneficiary. If such a beneficiary does not exist, use CREATE API to create a new beneficiary |
404 | beneficiary_not_found | Beneficiary exists with the given bank_account_number but a different bank_ifsc | If the required a beneficiary does not exist, use CREATE API to create a new beneficiary |
Remove Beneficiary
Click to view the response codes.
HTTP Status Code | Error Code | Message | Next Action |
---|---|---|---|
201 | - | - | - |
400 | beneficiary_id_invalid | beneficiary_id : should contain only letters, numbers, hyphen, underscore, pipe, and dot. Value received: .\qewqefwqev | Enter a valid beneficiary_id. |
400 | beneficiary_id_length_exceeded | beneficiary_id : should not be more than 50 characters long. value received: test_bene_id | Enter a valid a beneficiary_id |
404 | beneficiary_not_found | Beneficiary does not exist | Provide the beneficiary_id of an existing beneficiary |
Transfer V2
Standard Transfer V2
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. | You can approve/reject the transfer on the merchant dashboard. 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. | You can approve/reject the transfer on the merchant dashboard. 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. | You can approve/reject the transfer on the merchant dashboard. 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 alias user who has the permissions to do the same on merchant dashboard. 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 Risk Shield. You can reinitiate the transfer via Cashfree, after the blackout window or after modifying the blackout window from the merchant dashboard, 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, 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 successfuly processed by the beneficiary bank and has been credited to the end beneficiary. | - | - |
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. |
Get Transfer Status V2
Click to view the response codes.
HTTP Status Code | Status | Status Code | Status Description | Next Action | Try again via Cashfree - Yes or No |
---|---|---|---|---|---|
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. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. 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. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. Post the transfer is approved, the request is sent to the partner bank for further processing. | - |
200 | APPROVAL_PENDING | APPROVAL_PENDING | The transfer requires approval. You can approve or reject the transfer request from the Cashfree Merchant Dashboard. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. Post the transfer is approved, the request is sent to the partner bank for further processing. | - |
200 | APPROVAL_PENDING | ANOMALY_DETECTION | The transfer requires approval as it is a high risk transaction detected by RiskShield model. You can approve or reject the transfer request from the Cashfree Merchant Dashboard under RiskShield > Risky Transfers > Flagged transfers | You can approve/reject the transfer on the merchant dashboard. Go to: RiskShield > Risky Transfers > Flagged Transfers tab. 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 so that the transfer can be reattempted again by Cashfree with the partner bank(s). | Yes |
200 | FAILED | BENE | 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_BENE_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 the 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 the 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 |
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). | No |
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 alias user who has the permissions to do the same on merchant dashboard. 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 | - | 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. | Rely on Check Status API or webhooks | - |
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. | Rely on Check Status API or webhooks | - |
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. | Rely on Check Status API or webhooks | - |
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. | Rely on Check Status API or webhooks | - |
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 the account |
200 | REJECTED | INSIDE_BLACKOUT_WINDOW | The transfer has been rejected because the transfer falls under the blackout window defined by you in Risk Shield. You can reinitiate the transfer via Cashfree, after the blackout window or after modifying the blackout window from the merchant dashboard, 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, 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 mode |
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 the 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_PEOPLE | 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 the 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 the 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 the 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 | 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 | REVERSED | BENE_NAME_DIFFERS | The transfer has been reversed by the beneficiary bank because the Account Name of the beneficiary is different. After correcting the beneficiary name, 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 beneficiary name, 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 name |
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 successfuly processed by the beneficiary bank and has been credited to the end beneficiary. | - | - |
4XX errors
HTTP Status Code | Error Code | Message | Next Action |
---|---|---|---|
400 | transfer_id_missing | transfer_id is missing in the request | Enter a transfer_id in the request. |
400 | transfer_id_invalid | transfer_id should be alphanumeric | Enter a valid transfer_id. |
400 | transfer_amount_invalid | transfer_amount should be greater then 1.00 | Enter a transfer_amount greater than 1.00. |
400 | transfer_amount_missing | transfer_amount is missing in the request | Enter a transfer_amount 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 | transfer_mode_invalid | 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 | Provide a valid beneficiary_id in the request. |
400 | beneficiary_details.beneficiary_name_invalid | beneficiary_name is invalid. only alphabets and whitespaces are allowed | Provide a valid beneficiary_name in the request. |
400 | beneficiary_details.beneficiary_instrument_details.bank_account_number_invalid | bank_account_number should be alphanumeric | Provide a valid bank_account_number in the request |
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 | Provide the correct bank_account_number in the request. |
400 | beneficiary_details.beneficiary_instrument_details.bank_ifsc_invalid | bank_ifsc should be in standard ifsc format | Provide 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 | Provide the correct bank_ifsc for the beneficiary. |
400 | beneficiary_details.beneficiary_instrument_details.vpa_invalid | vpa is in invalid format | Provide 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 | Provide the correct vpa for the beneficiary. |
404 | beneficiary_not_found | Beneficiary does not exist | Provide an existing beneficiary. |
Batch Transfer V2
Click to view the response codes.
HTTP Status Code | Status | Status Code | Status Description | Next Action | Try again via Cashfree - Yes or No |
---|---|---|---|---|---|
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. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. 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. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. Post the transfer is approved, the request is sent to the partner bank for further processing. | - |
200 | APPROVAL_PENDING | APPROVAL_PENDING | The transfer requires approval. You can approve or reject the transfer request from the Cashfree Merchant Dashboard. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. 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 so that the transfer can be reattempted again by Cashfree 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 the 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 the 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 the 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 the 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 |
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_ACCOUT_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). | No |
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 alias user who has the permissions to do the same on merchant dashboard. 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. | ||
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 right 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 Risk Shield. You can reinitiate the transfer via Cashfree, after the blackout window or after modifying the blackout window from the merchant dashboard, 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, 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 the mode. |
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 the 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 the 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 limit |
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 the 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 the new details or getting the 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 the 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 | REVERSED | BENE_NAME_DIFFERS | The transfer has been reversed by the beneficiary bank because the Account Name of the beneficiary is different. After correcting the beneficiary name, 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 beneficiary name, 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 name |
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 successfuly processed by the beneficiary bank and has been credited to the end beneficiary. | - | - |
4XX errors
HTTP Status Code | Error Code | Message | Next Action |
---|---|---|---|
400 | batch_transfer_id_missing | batch_transfer_id_missing is missing in the request | Enter a batch transfer ID in the request. |
400 | batch_transfer_id_invalid | batch_transfer_id_invalid should be alphanumeric | Enter a valid batch transfer ID. |
400 | transfers[0].transfer_id_invalid | transfer_id should be alphanumeric | Enter a valid transfer ID. |
400 | transfers[0].transfer_id_missing | transfer_id is missing in the request | Enter a transfer ID in the request. |
400 | transfers[0].transfer_amount_invalid | transfer_amount should be greater then 1.00 | Enter an amount greater than 1.00. |
400 | transfers[0].transfer_amount_missing | transfer_amount is missing in the request | Enter a transfer amount in the request. |
400 | transfers[0].transfer_mode_invalid | transfer_mode is invalid allowed values are : bank, imps, neft, rtgs, upi, paytm, amazonpay, card and cardupi | Enter a valid transfer mode. |
400 | transfers[0].beneficiary_details.beneficiary_id_invalid | beneficiary_id should be alphanumeric | Enter a valid beneficiary ID. |
400 | transfers[0].beneficiary_details.beneficiary_name_invalid | beneficiary_name is invalid. only alphabets and whitespaces are allowed | Enter a valid beneficiary name. |
400 | transfers[0].beneficiary_details.beneficiary_instrument_details.bank_account_number_invalid | bank_account_number should be alphanumeric | Enter a valid bank account number. |
400 | transfers[0].beneficiary_details.beneficiary_instrument_details.bank_ifsc_invalid | bank_ifsc should be in standard ifsc format | Enter a valid IFSC. |
400 | transfers[0].beneficiary_details.beneficiary_instrument_details.vpa_invalid | vpa is in invalid format | Enter a valid VPA. |
Get Batch Transfer Status V2
Click to view the response codes.
HTTP Status Code | Status | Status Code | Status Description | Next Action | Try again via Cashfree - Yes or No |
---|---|---|---|---|---|
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. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. 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. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. Post the transfer is approved, the request is sent to the partner bank for further processing. | - |
200 | APPROVAL_PENDING | APPROVAL_PENDING | The transfer requires approval. You can approve or reject the transfer request from the Cashfree Merchant Dashboard. | You can approve/reject the transfer on the merchant dashboard. Go to: Transfers > Approve tab. Post the transfer is approved, the request is sent to the partner bank for further processing. | - |
200 | APPROVAL_PENDING | ANOMALY_DETECTION | The transfer requires approval as it is a high risk transaction detected by RiskShield model. You can approve or reject the transfer request from the Cashfree Merchant Dashboard under RiskShield > Risky Transfers > Flagged transfers | You can approve/reject the transfer on the merchant dashboard. Go to: RiskShield > Risky Transfers > Flagged Transfers tab. 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 so that the transfer can be reattempted again by Cashfree 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_BREACHED | 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 the 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 the 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 the 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 the 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 |
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 |
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). | No |
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 alias user who has the permissions to do the same on merchant dashboard. 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_TIMEOUT | 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 Risk Shield. You can reinitiate the transfer via Cashfree, after the blackout window or after modifying the blackout window from the merchant dashboard, 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, 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 the mode |
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 details |
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 the 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 information |
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 information. |
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 | RETURENED_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 the 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 | REVERSED | BENE_NAME_DIFFERS | The transfer has been reversed by the beneficiary bank because the Account Name of the beneficiary is different. After correcting the beneficiary name, 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 beneficiary name, 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 name. |
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 successfuly processed by the beneficiary bank and has been credited to the end beneficiary. | - | - |
4XX errors
HTTP Status Code | Error Code | Message | Next Action |
---|---|---|---|
404 | batch_transfer_id_not_found | batch_transfer_id does not exist | Enter an existing batch transfer ID. |
404 | cf_batch_transfer_id_invalid | cf_batch_transfer_id does not exist | Enter an existing cf batch transfer ID. |