POST
/
transfers
curl --request POST \
  --url https://sandbox.cashfree.com/payout/transfers \
  --header 'Content-Type: application/json' \
  --header 'x-api-version: <x-api-version>' \
  --header 'x-client-id: <api-key>' \
  --header 'x-client-secret: <api-key>' \
  --data '{
  "transfer_id": "JUNOB2018",
  "transfer_amount": 1,
  "beneficiary_details": {
    "beneficiary_id": "JOHN18011"
  }
}'
{
  "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"
}

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

Get Transfer Status
Use the Get Transfer Status V2 API to get the status of the batch transfer request. The Get Transfer Status V2 API does not give you the status of the batch transfer requests.

Authorizations

x-client-id
string
headerrequired

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

x-client-secret
string
headerrequired

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

Headers

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

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.

Body

application/json

Standard Transfer V2

transfer_id
string
required

It is the unique ID you create to identify the transfer. You can use a maximum of 40 characters to create a transfer_id. Alphanumeric and underscore ( _ ) are allowed.

Maximum length: 40
transfer_amount
number
required

It is the transfer amount. Decimal values are allowed. The minimum value should be equal to or greater than 1.00. (>= 1.00)

beneficiary_details
object
required

It should contain the details of the beneficiary who receives the transfer amount.

transfer_currency
string

It is the currency of the transfer amount. The default value is INR.

transfer_mode
enum<string>

It is the mode of transfer. Allowed values are banktransfer, imps, neft, rtgs, upi, paytm, amazonpay, card. The default transfer_mode is banktransfer.

Available options:
banktransfer,
imps,
neft,
rtgs,
upi,
paytm,
amazonpay,
card,
cardupi
transfer_remarks
string

It can contain any additional remarks for the transfer. Alphanumeric and whitespaces are allowed. The maximum character limit is 70.

Maximum length: 70
fundsource_id
string

It is the ID of the fund source from which the transfer amount will be debited.

Response

200 - application/json

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.