curl --request POST \
--url https://sandbox.cashfree.com/pg/recon/vendor \
--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 '
{
"pagination": {
"limit": 100,
"cursor": null
},
"filters": {
"merchant_vendor_id": "test01",
"start_date": "2024-09-01T00:00:00Z",
"end_date": "2024-09-26T23:59:59Z"
}
}
'import requests
url = "https://sandbox.cashfree.com/pg/recon/vendor"
payload = {
"pagination": {
"limit": 100,
"cursor": None
},
"filters": {
"merchant_vendor_id": "test01",
"start_date": "2024-09-01T00:00:00Z",
"end_date": "2024-09-26T23:59:59Z"
}
}
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({
pagination: {limit: 100, cursor: null},
filters: {
merchant_vendor_id: 'test01',
start_date: '2024-09-01T00:00:00Z',
end_date: '2024-09-26T23:59:59Z'
}
})
};
fetch('https://sandbox.cashfree.com/pg/recon/vendor', 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/recon/vendor",
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([
'pagination' => [
'limit' => 100,
'cursor' => null
],
'filters' => [
'merchant_vendor_id' => 'test01',
'start_date' => '2024-09-01T00:00:00Z',
'end_date' => '2024-09-26T23:59:59Z'
]
]),
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/recon/vendor"
payload := strings.NewReader("{\n \"pagination\": {\n \"limit\": 100,\n \"cursor\": null\n },\n \"filters\": {\n \"merchant_vendor_id\": \"test01\",\n \"start_date\": \"2024-09-01T00:00:00Z\",\n \"end_date\": \"2024-09-26T23:59:59Z\"\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/recon/vendor")
.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 \"pagination\": {\n \"limit\": 100,\n \"cursor\": null\n },\n \"filters\": {\n \"merchant_vendor_id\": \"test01\",\n \"start_date\": \"2024-09-01T00:00:00Z\",\n \"end_date\": \"2024-09-26T23:59:59Z\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.cashfree.com/pg/recon/vendor")
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 \"pagination\": {\n \"limit\": 100,\n \"cursor\": null\n },\n \"filters\": {\n \"merchant_vendor_id\": \"test01\",\n \"start_date\": \"2024-09-01T00:00:00Z\",\n \"end_date\": \"2024-09-26T23:59:59Z\"\n }\n}"
response = http.request(request)
puts response.read_bodyVendor Reconciliation API
This API allows you to fetch vendor reconciliation details by using different filters. Use the appropriate filters based on your requirements. After you receive a VENDOR_SETTLEMENT_SUCCESS webhook confirmation, wait 15 minutes before you call this API endpoint.
- View Split Order Details Using Settlement ID: Retrieve details of split orders within a settlement by Settlement ID.
- Vendor Recon for a Time Period: Fetch reconciliation details for all vendors within a specific time interval.
- Vendor Recon Using Vendor ID & Time Interval: Get reconciliation details for a specific vendor within a given time interval.
curl --request POST \
--url https://sandbox.cashfree.com/pg/recon/vendor \
--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 '
{
"pagination": {
"limit": 100,
"cursor": null
},
"filters": {
"merchant_vendor_id": "test01",
"start_date": "2024-09-01T00:00:00Z",
"end_date": "2024-09-26T23:59:59Z"
}
}
'import requests
url = "https://sandbox.cashfree.com/pg/recon/vendor"
payload = {
"pagination": {
"limit": 100,
"cursor": None
},
"filters": {
"merchant_vendor_id": "test01",
"start_date": "2024-09-01T00:00:00Z",
"end_date": "2024-09-26T23:59:59Z"
}
}
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({
pagination: {limit: 100, cursor: null},
filters: {
merchant_vendor_id: 'test01',
start_date: '2024-09-01T00:00:00Z',
end_date: '2024-09-26T23:59:59Z'
}
})
};
fetch('https://sandbox.cashfree.com/pg/recon/vendor', 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/recon/vendor",
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([
'pagination' => [
'limit' => 100,
'cursor' => null
],
'filters' => [
'merchant_vendor_id' => 'test01',
'start_date' => '2024-09-01T00:00:00Z',
'end_date' => '2024-09-26T23:59:59Z'
]
]),
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/recon/vendor"
payload := strings.NewReader("{\n \"pagination\": {\n \"limit\": 100,\n \"cursor\": null\n },\n \"filters\": {\n \"merchant_vendor_id\": \"test01\",\n \"start_date\": \"2024-09-01T00:00:00Z\",\n \"end_date\": \"2024-09-26T23:59:59Z\"\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/recon/vendor")
.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 \"pagination\": {\n \"limit\": 100,\n \"cursor\": null\n },\n \"filters\": {\n \"merchant_vendor_id\": \"test01\",\n \"start_date\": \"2024-09-01T00:00:00Z\",\n \"end_date\": \"2024-09-26T23:59:59Z\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.cashfree.com/pg/recon/vendor")
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 \"pagination\": {\n \"limit\": 100,\n \"cursor\": null\n },\n \"filters\": {\n \"merchant_vendor_id\": \"test01\",\n \"start_date\": \"2024-09-01T00:00:00Z\",\n \"end_date\": \"2024-09-26T23:59:59Z\"\n }\n}"
response = http.request(request)
puts response.read_body- Donβt call the API with a failed
settlement_id. If a settlement has failed and the amount remains unsettled, the API returns no data. - If the amount is later settled under a new (successful)
settlement_id, the API returns data for the successful settlement instead. - To retrieve records older than six months, include a date range in your request. Searches using
settlement_idreturn data from the last six months only.
Authorizations
Client app ID. You can find your app id in the Merchant Dashboard.
Client secret key. You can find your secret key in the Merchant Dashboard.
Headers
API version to be used.
application/json.
Body
Request parameters to get vendor reconciliation details.
The merchant can set pagination limits based on their use case. The minimum limit is 10. Pagination will fetch a set of records, and the next set of records can be generated using the cursor provided in response to the first request for all reconciliation APIs.
Show child attributes
Show child attributes
Specify the filters for the desired use case.
Show child attributes
Show child attributes
Was this page helpful?