Skip to main content
GET
/
transfers
Get Transfer Status V2
curl --request GET \
  --url https://sandbox.cashfree.com/payout/transfers \
  --header 'x-api-version: <x-api-version>' \
  --header 'x-client-id: <api-key>' \
  --header 'x-client-secret: <api-key>'
{
"transfer_id": "JUNOB2018",
"cf_transfer_id": "123456",
"status": "RECEIVED",
"status_code": "RECEIVED",
"status_description": "The transfer has been received by Cashfree successfully for further processing. You should use Check Status API response or Webhooks to know the terminal state of the transfer request.",
"beneficiary_details": {
"beneficiary_id": "JOHN18011"
},
"transfer_amount": 1,
"transfer_mode": "BANK",
"fundsource_id": "CASHFREE_1",
"added_on": "2021-11-24T13:39:25Z",
"updated_on": "2021-11-24T13:40:27Z"
}
For batch transfers, check the status of individual transfers only after the batch status is PROCESSED.
HTTP Status CodeStatusStatus CodeStatus DescriptionNext ActionTry again via Cashfree - Yes or No
200APPROVAL_PENDINGVELOCITY_CHECK_FAILEDThe 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.-
200APPROVAL_PENDINGTRANSFER_LIMIT_BREACHThe 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.-
200APPROVAL_PENDINGAPPROVAL_PENDINGThe 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.-
200APPROVAL_PENDINGANOMALY_DETECTIONThe transfer requires approval as it is a high risk transaction detected by Payout Protect model. You can approve or reject the transfer request from the Cashfree Merchant Dashboard under Payout Protect > Risky Transfers > Flagged transfersYou can approve/reject the transfer on the Merchant Dashboard. Go to: Payout Protect > Risky Transfers > Flagged Transfers tab. Post the transfer is approved, the request is sent to the partner bank for further processing.
200FAILEDWAIT_TIME_EXCEEDEDThe 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
200FAILEDBENEThe 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
200FAILEDIMPS_MODE_FAILThe 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
200FAILEDSOURCE_BENE_DECLINEDThe 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
200FAILEDCONNECTION_TIMEOUTThe 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
200FAILEDPAYOUT_INTERNAL_ERRORThe 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
200FAILEDNPCI_UNAVAILABLEThe 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.
200FAILEDDEST_LIMIT_REACHEDThe 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.
200FAILEDRETURNED_FROM_BENEFICIARYThe 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).--
200FAILEDPAYOUT_INTERNAL_ERRORThe 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).--
200FAILEDINVALID_BENE_ACCOUNT_OR_IFSCThe 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).--
200FAILEDPAYOUT_INTERNAL_ERRORThe 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).--
200FAILEDFAILEDThe 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.
200FAILEDPAYOUT_INTERNAL_ERRORThe 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).--
200FAILEDINSUFFICIENT_BALANCEThe 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.
200FAILEDINVALID_BENE_VPAThe 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.
200FAILEDINVALID_IFSC_FAILThe 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
200FAILEDBAD_GATEWAYThe 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
200FAILEDINVALID_AMOUNT_FAILThe 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
200FAILEDINVALID_ACCOUNT_FAILThe 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
200FAILEDINVALID_REQUESTThe 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).--
200FAILEDACCOUNT_BLOCKEDThe 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
200FAILEDDEBIT_FAILUREThe 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
200FAILEDBENEFICIARY_BANK_OFFLINEThe 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
200FAILEDAUTHENTICATION_FAILUREThe 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
200FAILEDNRE_ACCOUNT_FAILThe 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
200FAILEDSOURCE_LIMIT_REACHEDThe 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.
200FAILEDBANK_GATEWAY_ERRORThe 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
200FAILEDBAD_REQUESTThe 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
200FAILEDREINITIALIZE_TRANSFER_LATERThe 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
200MANUALLY_REJECTEDMANUALLY_REJECTEDThe transfer has failed because it has been manually rejected by the merchant or any team member user who has the permissions to do the same on Merchant Dashboard. 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
200PENDINGSENT_TO_BANKThe 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.-
200PENDINGBANK_GATEWAY_ERRORThe 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-
200PENDINGNO_SUCH_REQUESTThe 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.-
200PENDINGIN_PROCESSThe 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-
200PENDINGERROR_FETCHING_STATUSThe 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-
200PENDINGTRANSACTION_PROCESSEDThe 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-
200PENDINGREQUEST_TIMEDOUTThe 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-
200PENDINGDUPLICATEThe 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-
200PENDING-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-
200PENDINGSCHEDULED_FOR_NEXT_WORKINGDAYThe 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-
200PENDINGSUSPECTThe 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-
200PENDINGIMPLEMENTATION_ERRORThe 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-
200PENDINGUNKNOWN_ERROR_CODEThe 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-
200QUEUEDQUEUEDThe 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-
200RECEIVEDRECEIVEDThe 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-
200REJECTEDBENE_NOT_EXISTThe 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
200REJECTEDINSUFFICIENT_BALANCEThe 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
200REJECTEDINSIDE_BLACKOUT_WINDOWThe transfer has been rejected because the transfer falls under the blackout window defined by you in Payout Protect. You can reinitiate the transfer via Cashfree, after the blackout window or after modifying the blackout window from the Merchant Dashboard, 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
200REJECTEDINVALID_MODE_FOR_PYIDThe 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
200REJECTEDBENE_BLACKLISTEDThe 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
200REJECTEDTRANSFER_NOT_ATTEMPTEDThe 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
200REJECTEDINVALID_TRANSFER_AMOUNTThe 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
200REJECTEDTRANSFER_LIMIT_BREACHThe 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
200REJECTEDINVALID_PAYMENT_INSTRUMENTThe 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
200REJECTEDPAYOUT_INTERNAL_ERRORThe 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
200REJECTEDVELOCITY_CHECK_FAILEDThe 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
200REJECTEDPAYOUT_INTERNAL_ERRORThe 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
200REJECTEDPAYOUT_INTERNAL_PEOPLEThe 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
200REJECTEDDISABLED_MODEThe 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
200REJECTEDBANK_ACCOUNT_INVALIDThe 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.
200REJECTEDBANK_IFSC_INVALIDThe 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
200REJECTEDVPA_INVALIDThe 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
200REJECTEDPHONE_INVALIDThe 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
200REJECTEDBANK_ACCOUNT_DETAILS_MISSINGThe 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
200REJECTEDBENE_INVALID_MODEThe transfer has been rejected because the mode is invalid for the given beneficiary. After correcting the mode and beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).After correcting the mode and beneficiary, 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 details
200REJECTEDINVALID_PHONE_BENEFICIARYThe transfer has been rejected because the beneficiary is Invalid. After correcting the beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).After correcting the beneficiary, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).Yes, after correcting beneficiary details
200REJECTEDINVALID_BENE_ACCOUNT_OR_IFSCThe transfer has been rejected because the beneficiary account or ifsc is Invalid. After correcting the beneficiary details, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).After correcting the beneficiary details, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).Yes, after correcting beneficiary details
200REJECTEDNAME_INVALIDThe transfer has been rejected because the name is Invalid. Please refer Cashfree official documentation and after correcting the name, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).Please refer Cashfree official documentation and after correcting the name, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).Yes, after correcting the name
200REJECTEDEMAIL_INVALIDThe transfer has been rejected because the email is Invalid. Please refer Cashfree official documentation and after correcting the email, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).Please refer Cashfree official documentation and after correcting the email, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).Yes, after correcting the email
200REJECTEDREMARKS_INVALIDThe transfer has been rejected because the remark is Invalid. Please refer Cashfree official documentation and after correcting the remarks, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).Please refer Cashfree official documentation and after correcting the remarks, you can reinitiate the transfer via Cashfree so that the transfer can be attempted by Cashfree with the partner bank(s).Yes, after correcting the remarks
200REVERSEDACCOUNT_BLOCKEDThe 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
200REVERSEDFAILEDThe 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
200REVERSEDNRE_ACCOUNT_FAILThe 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
200REVERSEDRETURNED_FROM_BENEFICIARYThe 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
200REVERSEDBENE_BANK_DECLINEDThe 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
200REVERSEDIMPS_MODE_FAILThe 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.
200REVERSEDDEST_LIMIT_REACHEDThe 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 incomingThe 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.
200REVERSEDINVALID_ACCOUNT_FAILThe 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.
200REVERSEDBENE_NAME_DIFFERSThe 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
200SUCCESSSENT_TO_BENEFICIARYThe 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.--
200SUCCESSCOMPLETEDThe 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 CodeError CodeMessageNext Action
400transfer_id_missingtransfer_id is missing in the requestEnter a transfer_id in the request.
400transfer_id_invalidtransfer_id should be alphanumericEnter a valid transfer_id.
400transfer_amount_invalidtransfer_amount should be greater then 1.00Enter a transfer_amount greater than 1.00.
400transfer_amount_missingtransfer_amount is missing in the requestEnter a transfer_amount in the request.
400transfer_mode_invalidtransfer_mode is invalid allowed values are : bank, imps, neft, rtgs, upi, paytm, amazonpay, card and cardupiProvide a valid transfer_mode in the request.
400transfer_mode_invalidtransfer_mode_invalid transfer_mode is invalid allowed values are : bank, imps, neft, rtgs, upi, paytm, amazonpay, card and cardupiProvide a valid transfer_mode in the request.
400beneficiary_details.beneficiary_id_invalidbeneficiary_id should be alphanumericProvide a valid beneficiary_id in the request.
400beneficiary_details.beneficiary_name_invalidbeneficiary_name is invalid. only alphabets and whitespaces are allowedProvide a valid beneficiary_name in the request.
400beneficiary_details.beneficiary_instrument_details.bank_account_number_invalidbank_account_number should be alphanumericProvide a valid bank_account_number in the request
400beneficiary_details.beneficiary_instrument_details.bank_account_number_invalidBank account number passed in the request does not match with the beneficiary with beneficiary_id :: test_beneIdProvide the correct bank_account_number in the request.
400beneficiary_details.beneficiary_instrument_details.bank_ifsc_invalidbank_ifsc should be in standard ifsc formatProvide a valid bank_ifsc.
400beneficiary_details.beneficiary_instrument_details.bank_ifsc_invalidBank ifsc passed in the request does not match with the beneficiary with beneficiary_id :: test_beneIdProvide the correct bank_ifsc for the beneficiary.
400beneficiary_details.beneficiary_instrument_details.vpa_invalidvpa is in invalid formatProvide a valid vpa.
400beneficiary_details.beneficiary_instrument_details.vpa_invalidVpa passed in the request does not match with the beneficiary with beneficiary_id :: test_beneIdProvide the correct vpa for the beneficiary.
404beneficiary_not_foundBeneficiary does not existProvide an existing beneficiary.

Authorizations

x-client-id
string
header
required

Client ID. You can find your app id in the Merchant Dashboard.

x-client-secret
string
header
required

Client secret key. You can find your secret in the Merchant Dashboard.

Headers

x-api-version
string
default:2024-01-01
required

It is the API version to be used. The accepted format is YYYY-MM-DD.

x-request-id
string

It is the request ID for the API call. This ID can be used to resolve tech realted issues. Communicate this in your tech related queries to Cashfree Payments.

x-cf-signature
string

Signature to be sent if IP is not whitelisted

Query Parameters

cf_transfer_id
string

It is the unique ID created by Cashfree Payments. You receive it in the response of the initiated standard transfer request. (Either cf_transfer_id or transfer_id is mandatory)

transfer_id
string

It is the unique ID you created to identify the standard transfer request.

Response

OK

Standard Transfer V2 Response

transfer_id
string

It displays the unique ID you created to identify the transfer.

cf_transfer_id
string

It displays the unique ID created by Cashfree Payments. You receive this ID in the response after initiating the standard transfer request.

status
string

It displays the status of the transfer.

beneficiary_details
object

It displays the details of the beneficiary.

transfer_amount
number

It displays the transfer amount initiated in the request.

transfer_service_charge
number

It displays the service charge applicable for the successful transfer request.

transfer_service_tax
number

It displays the service tax applicable for the successful transfer request.

transfer_mode
string

It displays the mode of the transfer.

transfer_utr
string

It displays the unique number that is generated to recognise any fund transfer that is created by the bank that facilitates the transfer.

fundsource_id
string

It displays the ID of the fund source from where the money was debited for this transfer request.

added_on
string

It displays the time of when the transfer request was added to the system.

updated_on
string

It displays the updated time for the transfer.