curl --request POST \
--url https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer \
--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_from": "VENDOR",
"transfer_type": "ADJUSTMENT",
"transfer_amount": 10,
"remark": "Testing",
"tags": {
"size": 1,
"product": "SHRT"
}
}
'import requests
url = "https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer"
payload = {
"transfer_from": "VENDOR",
"transfer_type": "ADJUSTMENT",
"transfer_amount": 10,
"remark": "Testing",
"tags": {
"size": 1,
"product": "SHRT"
}
}
headers = {
"x-api-version": "<x-api-version>",
"x-client-id": "<api-key>",
"x-client-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-version': '<x-api-version>',
'x-client-id': '<api-key>',
'x-client-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
transfer_from: 'VENDOR',
transfer_type: 'ADJUSTMENT',
transfer_amount: 10,
remark: 'Testing',
tags: {size: 1, product: 'SHRT'}
})
};
fetch('https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'transfer_from' => 'VENDOR',
'transfer_type' => 'ADJUSTMENT',
'transfer_amount' => 10,
'remark' => 'Testing',
'tags' => [
'size' => 1,
'product' => 'SHRT'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-version: <x-api-version>",
"x-client-id: <api-key>",
"x-client-secret: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer"
payload := strings.NewReader("{\n \"transfer_from\": \"VENDOR\",\n \"transfer_type\": \"ADJUSTMENT\",\n \"transfer_amount\": 10,\n \"remark\": \"Testing\",\n \"tags\": {\n \"size\": 1,\n \"product\": \"SHRT\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-version", "<x-api-version>")
req.Header.Add("x-client-id", "<api-key>")
req.Header.Add("x-client-secret", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer")
.header("x-api-version", "<x-api-version>")
.header("x-client-id", "<api-key>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"transfer_from\": \"VENDOR\",\n \"transfer_type\": \"ADJUSTMENT\",\n \"transfer_amount\": 10,\n \"remark\": \"Testing\",\n \"tags\": {\n \"size\": 1,\n \"product\": \"SHRT\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-version"] = '<x-api-version>'
request["x-client-id"] = '<api-key>'
request["x-client-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transfer_from\": \"VENDOR\",\n \"transfer_type\": \"ADJUSTMENT\",\n \"transfer_amount\": 10,\n \"remark\": \"Testing\",\n \"tags\": {\n \"size\": 1,\n \"product\": \"SHRT\"\n }\n}"
response = http.request(request)
puts response.read_body{
"settlement_id": 1050232,
"transfer_details": {
"vendor_id": "test03",
"transfer_from": "VENDOR",
"transfer_type": "ON_DEMAND",
"transfer_amount": 10,
"remark": "Testing",
"tags": {
"product": "Paneer Tikka",
"size": "L",
"AWB": "PNRTKKA12334"
}
},
"balances": {
"merchant_id": 152707,
"vendor_id": "test03",
"merchant_unsettled": 2442,
"vendor_unsettled": 4757.42
},
"charges": {
"service_charges": 2,
"service_tax": 0.36,
"amount": 10,
"billed_to": "MERCHANT",
"is_postpaid": true
}
}Create On Demand Transfer
The Create On Demand Transfer API will create a new on-demand request either from to the merchant or from to the vendor.
curl --request POST \
--url https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer \
--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_from": "VENDOR",
"transfer_type": "ADJUSTMENT",
"transfer_amount": 10,
"remark": "Testing",
"tags": {
"size": 1,
"product": "SHRT"
}
}
'import requests
url = "https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer"
payload = {
"transfer_from": "VENDOR",
"transfer_type": "ADJUSTMENT",
"transfer_amount": 10,
"remark": "Testing",
"tags": {
"size": 1,
"product": "SHRT"
}
}
headers = {
"x-api-version": "<x-api-version>",
"x-client-id": "<api-key>",
"x-client-secret": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-version': '<x-api-version>',
'x-client-id': '<api-key>',
'x-client-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
transfer_from: 'VENDOR',
transfer_type: 'ADJUSTMENT',
transfer_amount: 10,
remark: 'Testing',
tags: {size: 1, product: 'SHRT'}
})
};
fetch('https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'transfer_from' => 'VENDOR',
'transfer_type' => 'ADJUSTMENT',
'transfer_amount' => 10,
'remark' => 'Testing',
'tags' => [
'size' => 1,
'product' => 'SHRT'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-version: <x-api-version>",
"x-client-id: <api-key>",
"x-client-secret: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer"
payload := strings.NewReader("{\n \"transfer_from\": \"VENDOR\",\n \"transfer_type\": \"ADJUSTMENT\",\n \"transfer_amount\": 10,\n \"remark\": \"Testing\",\n \"tags\": {\n \"size\": 1,\n \"product\": \"SHRT\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-version", "<x-api-version>")
req.Header.Add("x-client-id", "<api-key>")
req.Header.Add("x-client-secret", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer")
.header("x-api-version", "<x-api-version>")
.header("x-client-id", "<api-key>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"transfer_from\": \"VENDOR\",\n \"transfer_type\": \"ADJUSTMENT\",\n \"transfer_amount\": 10,\n \"remark\": \"Testing\",\n \"tags\": {\n \"size\": 1,\n \"product\": \"SHRT\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.cashfree.com/pg/easy-split/vendors/{vendor_id}/transfer")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-version"] = '<x-api-version>'
request["x-client-id"] = '<api-key>'
request["x-client-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"transfer_from\": \"VENDOR\",\n \"transfer_type\": \"ADJUSTMENT\",\n \"transfer_amount\": 10,\n \"remark\": \"Testing\",\n \"tags\": {\n \"size\": 1,\n \"product\": \"SHRT\"\n }\n}"
response = http.request(request)
puts response.read_body{
"settlement_id": 1050232,
"transfer_details": {
"vendor_id": "test03",
"transfer_from": "VENDOR",
"transfer_type": "ON_DEMAND",
"transfer_amount": 10,
"remark": "Testing",
"tags": {
"product": "Paneer Tikka",
"size": "L",
"AWB": "PNRTKKA12334"
}
},
"balances": {
"merchant_id": 152707,
"vendor_id": "test03",
"merchant_unsettled": 2442,
"vendor_unsettled": 4757.42
},
"charges": {
"service_charges": 2,
"service_tax": 0.36,
"amount": 10,
"billed_to": "MERCHANT",
"is_postpaid": true
}
}Authorizations
Client app ID. You can find your app id in the merchant dashboard.
Client secret key. You can find your secret in the merchant dashboard.
Headers
API version to be used
Request id for the API call. Can be used to resolve tech issues. Communicate this in your tech related queries to Cashfree.
An idempotency key is a unique identifier you include with your API call. If the request fails or times out, you can safely retry it using the same key to avoid duplicate actions.
Path Parameters
The id which uniquely identifies your vendor.
Body
Adjust Vendor Balance Request Body.
Adjust Vendor Balance Request
Mention to whom you want to transfer the on demand balance. Possible values - MERCHANT, VENDOR.
Mention the type of transfer. Possible values: ON_DEMAND.
Mention the on demand transfer amount.
Mention remarks if any for the on demand transfer.
Provide additional data fields using tags.
Response
Adjust Vendor Balance Success Response.
Adjust Vendor Balance Response
Show child attributes
Show child attributes
{
"vendor_id": "test03",
"transfer_from": "VENDOR",
"transfer_type": "ADJUSTMENT",
"transfer_amount": 10,
"remark": "Testing",
"tags": [{ "product": "SHRT" }, { "size": 1 }]
}
Show child attributes
Show child attributes
{
"merchant_id": 152707,
"vendor_id": "test03",
"merchant_unsettled": 2442,
"vendor_unsettled": 4757.42
}
Show child attributes
Show child attributes
{
"service_charges": 2,
"service_tax": 0.36,
"amount": 10,
"billed_to": "MERCHANT",
"is_postpaid": true
}
