curl --request POST \
--url https://sandbox.cashfree.com/verification/pan/bulk \
--header 'Content-Type: application/json' \
--header 'x-client-id: <api-key>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"bulk_verification_id": 31123,
"entries": [
{
"pan": "ABCPV1234D",
"name": "JOHN DOE"
},
{
"pan": "ABCPV1234D",
"name": "JOHN"
}
]
}
'import requests
url = "https://sandbox.cashfree.com/verification/pan/bulk"
payload = {
"bulk_verification_id": 31123,
"entries": [
{
"pan": "ABCPV1234D",
"name": "JOHN DOE"
},
{
"pan": "ABCPV1234D",
"name": "JOHN"
}
]
}
headers = {
"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-client-id': '<api-key>',
'x-client-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
bulk_verification_id: 31123,
entries: [{pan: 'ABCPV1234D', name: 'JOHN DOE'}, {pan: 'ABCPV1234D', name: 'JOHN'}]
})
};
fetch('https://sandbox.cashfree.com/verification/pan/bulk', 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/verification/pan/bulk",
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([
'bulk_verification_id' => 31123,
'entries' => [
[
'pan' => 'ABCPV1234D',
'name' => 'JOHN DOE'
],
[
'pan' => 'ABCPV1234D',
'name' => 'JOHN'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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/verification/pan/bulk"
payload := strings.NewReader("{\n \"bulk_verification_id\": 31123,\n \"entries\": [\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN DOE\"\n },\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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/verification/pan/bulk")
.header("x-client-id", "<api-key>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"bulk_verification_id\": 31123,\n \"entries\": [\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN DOE\"\n },\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.cashfree.com/verification/pan/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<api-key>'
request["x-client-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"bulk_verification_id\": 31123,\n \"entries\": [\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN DOE\"\n },\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"reference_id": 612,
"message": "Request accepted. You can check the status after some time."
}Verify
Use this API to verify the customer PAN information individually or in bulk by passing either the reference ID or bulk verification ID.
View the test data and use the information to trigger the validations. The test data are usable only in the test environment sandbox.
curl --request POST \
--url https://sandbox.cashfree.com/verification/pan/bulk \
--header 'Content-Type: application/json' \
--header 'x-client-id: <api-key>' \
--header 'x-client-secret: <api-key>' \
--data '
{
"bulk_verification_id": 31123,
"entries": [
{
"pan": "ABCPV1234D",
"name": "JOHN DOE"
},
{
"pan": "ABCPV1234D",
"name": "JOHN"
}
]
}
'import requests
url = "https://sandbox.cashfree.com/verification/pan/bulk"
payload = {
"bulk_verification_id": 31123,
"entries": [
{
"pan": "ABCPV1234D",
"name": "JOHN DOE"
},
{
"pan": "ABCPV1234D",
"name": "JOHN"
}
]
}
headers = {
"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-client-id': '<api-key>',
'x-client-secret': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
bulk_verification_id: 31123,
entries: [{pan: 'ABCPV1234D', name: 'JOHN DOE'}, {pan: 'ABCPV1234D', name: 'JOHN'}]
})
};
fetch('https://sandbox.cashfree.com/verification/pan/bulk', 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/verification/pan/bulk",
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([
'bulk_verification_id' => 31123,
'entries' => [
[
'pan' => 'ABCPV1234D',
'name' => 'JOHN DOE'
],
[
'pan' => 'ABCPV1234D',
'name' => 'JOHN'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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/verification/pan/bulk"
payload := strings.NewReader("{\n \"bulk_verification_id\": 31123,\n \"entries\": [\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN DOE\"\n },\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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/verification/pan/bulk")
.header("x-client-id", "<api-key>")
.header("x-client-secret", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"bulk_verification_id\": 31123,\n \"entries\": [\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN DOE\"\n },\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.cashfree.com/verification/pan/bulk")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-client-id"] = '<api-key>'
request["x-client-secret"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"bulk_verification_id\": 31123,\n \"entries\": [\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN DOE\"\n },\n {\n \"pan\": \"ABCPV1234D\",\n \"name\": \"JOHN\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"reference_id": 612,
"message": "Request accepted. You can check the status after some time."
}Authorizations
Your unique client identifier issued by Cashfree. You can find this in your Merchant Dashboard.
The secret key associated with your client ID. Use this to authenticate your API requests. You can find this in your Merchant Dashboard.
Headers
Send the signature if two-factor authentication is selected as Public Key. More details.
It is the API version. To receive the aadhaar seeding status in the response, use any date after 2022-09-12.
Body
Find the request parameters to verify a large number of PAN information.
It is the unique ID you create to identify the API request. Only alphanumeric and underscore ( _ ) are allowed.
"ABCPV1234D"
It is the array of PAN details for verification. PAN and name should be included. The name parameter is optional.
2Show child attributes
Show child attributes
[
{ "name": "John Doe", "pan": "ABCPP3011E" },
{ "name": "Jane Doe", "pan": "ABCPP3022E" }
]
Response
Success response for verifying a large number of PAN information.
Was this page helpful?