curl --request POST \
--url https://api.cashfree.com/ppi/user/bene \
--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 '
{
"bene_id": "BENE28448",
"user_id": "USER827364",
"bene_first_name": "John",
"bene_last_name": "Doe",
"bene_instruments": [
{
"bene_instrument_id": "INST194947",
"type": "BANK_ACCOUNT",
"bank_account_number": "1234567890",
"ifsc": "HDFC0001234"
},
{
"bene_instrument_id": "INST194948",
"type": "VPA",
"vpa": "example@upi"
}
],
"bene_contact_details": {
"email": "john.doe@example.com",
"phone": "9876543210",
"dob": "1990-05-12",
"gender": "MALE",
"address": "No. 123, 5th Main, Indiranagar",
"city": "Bangalore",
"state": "Karnataka",
"pincode": "560038",
"country": "India"
},
"purpose": "Family",
"notes": {
"example_key_1": "example_value_1",
"example_key_2": "example_value_2"
}
}
'import requests
url = "https://api.cashfree.com/ppi/user/bene"
payload = {
"bene_id": "BENE28448",
"user_id": "USER827364",
"bene_first_name": "John",
"bene_last_name": "Doe",
"bene_instruments": [
{
"bene_instrument_id": "INST194947",
"type": "BANK_ACCOUNT",
"bank_account_number": "1234567890",
"ifsc": "HDFC0001234"
},
{
"bene_instrument_id": "INST194948",
"type": "VPA",
"vpa": "example@upi"
}
],
"bene_contact_details": {
"email": "john.doe@example.com",
"phone": "9876543210",
"dob": "1990-05-12",
"gender": "MALE",
"address": "No. 123, 5th Main, Indiranagar",
"city": "Bangalore",
"state": "Karnataka",
"pincode": "560038",
"country": "India"
},
"purpose": "Family",
"notes": {
"example_key_1": "example_value_1",
"example_key_2": "example_value_2"
}
}
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({
bene_id: 'BENE28448',
user_id: 'USER827364',
bene_first_name: 'John',
bene_last_name: 'Doe',
bene_instruments: [
{
bene_instrument_id: 'INST194947',
type: 'BANK_ACCOUNT',
bank_account_number: '1234567890',
ifsc: 'HDFC0001234'
},
{bene_instrument_id: 'INST194948', type: 'VPA', vpa: 'example@upi'}
],
bene_contact_details: {
email: 'john.doe@example.com',
phone: '9876543210',
dob: '1990-05-12',
gender: 'MALE',
address: 'No. 123, 5th Main, Indiranagar',
city: 'Bangalore',
state: 'Karnataka',
pincode: '560038',
country: 'India'
},
purpose: 'Family',
notes: {example_key_1: 'example_value_1', example_key_2: 'example_value_2'}
})
};
fetch('https://api.cashfree.com/ppi/user/bene', 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://api.cashfree.com/ppi/user/bene",
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([
'bene_id' => 'BENE28448',
'user_id' => 'USER827364',
'bene_first_name' => 'John',
'bene_last_name' => 'Doe',
'bene_instruments' => [
[
'bene_instrument_id' => 'INST194947',
'type' => 'BANK_ACCOUNT',
'bank_account_number' => '1234567890',
'ifsc' => 'HDFC0001234'
],
[
'bene_instrument_id' => 'INST194948',
'type' => 'VPA',
'vpa' => 'example@upi'
]
],
'bene_contact_details' => [
'email' => 'john.doe@example.com',
'phone' => '9876543210',
'dob' => '1990-05-12',
'gender' => 'MALE',
'address' => 'No. 123, 5th Main, Indiranagar',
'city' => 'Bangalore',
'state' => 'Karnataka',
'pincode' => '560038',
'country' => 'India'
],
'purpose' => 'Family',
'notes' => [
'example_key_1' => 'example_value_1',
'example_key_2' => 'example_value_2'
]
]),
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://api.cashfree.com/ppi/user/bene"
payload := strings.NewReader("{\n \"bene_id\": \"BENE28448\",\n \"user_id\": \"USER827364\",\n \"bene_first_name\": \"John\",\n \"bene_last_name\": \"Doe\",\n \"bene_instruments\": [\n {\n \"bene_instrument_id\": \"INST194947\",\n \"type\": \"BANK_ACCOUNT\",\n \"bank_account_number\": \"1234567890\",\n \"ifsc\": \"HDFC0001234\"\n },\n {\n \"bene_instrument_id\": \"INST194948\",\n \"type\": \"VPA\",\n \"vpa\": \"example@upi\"\n }\n ],\n \"bene_contact_details\": {\n \"email\": \"john.doe@example.com\",\n \"phone\": \"9876543210\",\n \"dob\": \"1990-05-12\",\n \"gender\": \"MALE\",\n \"address\": \"No. 123, 5th Main, Indiranagar\",\n \"city\": \"Bangalore\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560038\",\n \"country\": \"India\"\n },\n \"purpose\": \"Family\",\n \"notes\": {\n \"example_key_1\": \"example_value_1\",\n \"example_key_2\": \"example_value_2\"\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://api.cashfree.com/ppi/user/bene")
.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 \"bene_id\": \"BENE28448\",\n \"user_id\": \"USER827364\",\n \"bene_first_name\": \"John\",\n \"bene_last_name\": \"Doe\",\n \"bene_instruments\": [\n {\n \"bene_instrument_id\": \"INST194947\",\n \"type\": \"BANK_ACCOUNT\",\n \"bank_account_number\": \"1234567890\",\n \"ifsc\": \"HDFC0001234\"\n },\n {\n \"bene_instrument_id\": \"INST194948\",\n \"type\": \"VPA\",\n \"vpa\": \"example@upi\"\n }\n ],\n \"bene_contact_details\": {\n \"email\": \"john.doe@example.com\",\n \"phone\": \"9876543210\",\n \"dob\": \"1990-05-12\",\n \"gender\": \"MALE\",\n \"address\": \"No. 123, 5th Main, Indiranagar\",\n \"city\": \"Bangalore\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560038\",\n \"country\": \"India\"\n },\n \"purpose\": \"Family\",\n \"notes\": {\n \"example_key_1\": \"example_value_1\",\n \"example_key_2\": \"example_value_2\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cashfree.com/ppi/user/bene")
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 \"bene_id\": \"BENE28448\",\n \"user_id\": \"USER827364\",\n \"bene_first_name\": \"John\",\n \"bene_last_name\": \"Doe\",\n \"bene_instruments\": [\n {\n \"bene_instrument_id\": \"INST194947\",\n \"type\": \"BANK_ACCOUNT\",\n \"bank_account_number\": \"1234567890\",\n \"ifsc\": \"HDFC0001234\"\n },\n {\n \"bene_instrument_id\": \"INST194948\",\n \"type\": \"VPA\",\n \"vpa\": \"example@upi\"\n }\n ],\n \"bene_contact_details\": {\n \"email\": \"john.doe@example.com\",\n \"phone\": \"9876543210\",\n \"dob\": \"1990-05-12\",\n \"gender\": \"MALE\",\n \"address\": \"No. 123, 5th Main, Indiranagar\",\n \"city\": \"Bangalore\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560038\",\n \"country\": \"India\"\n },\n \"purpose\": \"Family\",\n \"notes\": {\n \"example_key_1\": \"example_value_1\",\n \"example_key_2\": \"example_value_2\"\n }\n}"
response = http.request(request)
puts response.read_bodyCreate Beneficiary
Creates a new beneficiary to userās Full KYC wallet by providing bank account number or VPA and other required details. Ensure the successful creation of the beneficiary before initiating a fund transfer.
curl --request POST \
--url https://api.cashfree.com/ppi/user/bene \
--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 '
{
"bene_id": "BENE28448",
"user_id": "USER827364",
"bene_first_name": "John",
"bene_last_name": "Doe",
"bene_instruments": [
{
"bene_instrument_id": "INST194947",
"type": "BANK_ACCOUNT",
"bank_account_number": "1234567890",
"ifsc": "HDFC0001234"
},
{
"bene_instrument_id": "INST194948",
"type": "VPA",
"vpa": "example@upi"
}
],
"bene_contact_details": {
"email": "john.doe@example.com",
"phone": "9876543210",
"dob": "1990-05-12",
"gender": "MALE",
"address": "No. 123, 5th Main, Indiranagar",
"city": "Bangalore",
"state": "Karnataka",
"pincode": "560038",
"country": "India"
},
"purpose": "Family",
"notes": {
"example_key_1": "example_value_1",
"example_key_2": "example_value_2"
}
}
'import requests
url = "https://api.cashfree.com/ppi/user/bene"
payload = {
"bene_id": "BENE28448",
"user_id": "USER827364",
"bene_first_name": "John",
"bene_last_name": "Doe",
"bene_instruments": [
{
"bene_instrument_id": "INST194947",
"type": "BANK_ACCOUNT",
"bank_account_number": "1234567890",
"ifsc": "HDFC0001234"
},
{
"bene_instrument_id": "INST194948",
"type": "VPA",
"vpa": "example@upi"
}
],
"bene_contact_details": {
"email": "john.doe@example.com",
"phone": "9876543210",
"dob": "1990-05-12",
"gender": "MALE",
"address": "No. 123, 5th Main, Indiranagar",
"city": "Bangalore",
"state": "Karnataka",
"pincode": "560038",
"country": "India"
},
"purpose": "Family",
"notes": {
"example_key_1": "example_value_1",
"example_key_2": "example_value_2"
}
}
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({
bene_id: 'BENE28448',
user_id: 'USER827364',
bene_first_name: 'John',
bene_last_name: 'Doe',
bene_instruments: [
{
bene_instrument_id: 'INST194947',
type: 'BANK_ACCOUNT',
bank_account_number: '1234567890',
ifsc: 'HDFC0001234'
},
{bene_instrument_id: 'INST194948', type: 'VPA', vpa: 'example@upi'}
],
bene_contact_details: {
email: 'john.doe@example.com',
phone: '9876543210',
dob: '1990-05-12',
gender: 'MALE',
address: 'No. 123, 5th Main, Indiranagar',
city: 'Bangalore',
state: 'Karnataka',
pincode: '560038',
country: 'India'
},
purpose: 'Family',
notes: {example_key_1: 'example_value_1', example_key_2: 'example_value_2'}
})
};
fetch('https://api.cashfree.com/ppi/user/bene', 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://api.cashfree.com/ppi/user/bene",
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([
'bene_id' => 'BENE28448',
'user_id' => 'USER827364',
'bene_first_name' => 'John',
'bene_last_name' => 'Doe',
'bene_instruments' => [
[
'bene_instrument_id' => 'INST194947',
'type' => 'BANK_ACCOUNT',
'bank_account_number' => '1234567890',
'ifsc' => 'HDFC0001234'
],
[
'bene_instrument_id' => 'INST194948',
'type' => 'VPA',
'vpa' => 'example@upi'
]
],
'bene_contact_details' => [
'email' => 'john.doe@example.com',
'phone' => '9876543210',
'dob' => '1990-05-12',
'gender' => 'MALE',
'address' => 'No. 123, 5th Main, Indiranagar',
'city' => 'Bangalore',
'state' => 'Karnataka',
'pincode' => '560038',
'country' => 'India'
],
'purpose' => 'Family',
'notes' => [
'example_key_1' => 'example_value_1',
'example_key_2' => 'example_value_2'
]
]),
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://api.cashfree.com/ppi/user/bene"
payload := strings.NewReader("{\n \"bene_id\": \"BENE28448\",\n \"user_id\": \"USER827364\",\n \"bene_first_name\": \"John\",\n \"bene_last_name\": \"Doe\",\n \"bene_instruments\": [\n {\n \"bene_instrument_id\": \"INST194947\",\n \"type\": \"BANK_ACCOUNT\",\n \"bank_account_number\": \"1234567890\",\n \"ifsc\": \"HDFC0001234\"\n },\n {\n \"bene_instrument_id\": \"INST194948\",\n \"type\": \"VPA\",\n \"vpa\": \"example@upi\"\n }\n ],\n \"bene_contact_details\": {\n \"email\": \"john.doe@example.com\",\n \"phone\": \"9876543210\",\n \"dob\": \"1990-05-12\",\n \"gender\": \"MALE\",\n \"address\": \"No. 123, 5th Main, Indiranagar\",\n \"city\": \"Bangalore\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560038\",\n \"country\": \"India\"\n },\n \"purpose\": \"Family\",\n \"notes\": {\n \"example_key_1\": \"example_value_1\",\n \"example_key_2\": \"example_value_2\"\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://api.cashfree.com/ppi/user/bene")
.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 \"bene_id\": \"BENE28448\",\n \"user_id\": \"USER827364\",\n \"bene_first_name\": \"John\",\n \"bene_last_name\": \"Doe\",\n \"bene_instruments\": [\n {\n \"bene_instrument_id\": \"INST194947\",\n \"type\": \"BANK_ACCOUNT\",\n \"bank_account_number\": \"1234567890\",\n \"ifsc\": \"HDFC0001234\"\n },\n {\n \"bene_instrument_id\": \"INST194948\",\n \"type\": \"VPA\",\n \"vpa\": \"example@upi\"\n }\n ],\n \"bene_contact_details\": {\n \"email\": \"john.doe@example.com\",\n \"phone\": \"9876543210\",\n \"dob\": \"1990-05-12\",\n \"gender\": \"MALE\",\n \"address\": \"No. 123, 5th Main, Indiranagar\",\n \"city\": \"Bangalore\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560038\",\n \"country\": \"India\"\n },\n \"purpose\": \"Family\",\n \"notes\": {\n \"example_key_1\": \"example_value_1\",\n \"example_key_2\": \"example_value_2\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cashfree.com/ppi/user/bene")
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 \"bene_id\": \"BENE28448\",\n \"user_id\": \"USER827364\",\n \"bene_first_name\": \"John\",\n \"bene_last_name\": \"Doe\",\n \"bene_instruments\": [\n {\n \"bene_instrument_id\": \"INST194947\",\n \"type\": \"BANK_ACCOUNT\",\n \"bank_account_number\": \"1234567890\",\n \"ifsc\": \"HDFC0001234\"\n },\n {\n \"bene_instrument_id\": \"INST194948\",\n \"type\": \"VPA\",\n \"vpa\": \"example@upi\"\n }\n ],\n \"bene_contact_details\": {\n \"email\": \"john.doe@example.com\",\n \"phone\": \"9876543210\",\n \"dob\": \"1990-05-12\",\n \"gender\": \"MALE\",\n \"address\": \"No. 123, 5th Main, Indiranagar\",\n \"city\": \"Bangalore\",\n \"state\": \"Karnataka\",\n \"pincode\": \"560038\",\n \"country\": \"India\"\n },\n \"purpose\": \"Family\",\n \"notes\": {\n \"example_key_1\": \"example_value_1\",\n \"example_key_2\": \"example_value_2\"\n }\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
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
API version to be used. Format is in YYYY-MM-DD.
"2025-11-01"
Body
Request parameters to create a beneficiary for a user.
Unique identifier that you create to identify the beneficiary in your system. Maximum 50 characters. Only alphanumeric characters, periods (.), hyphens (-), and underscores (_) are allowed.
1 - 50"BENE28448"
Unique identifier for the user, as provided by you during PPI user creation.
1 - 50"USER827364"
First name of the beneficiary.
1 - 100"John"
List of payment bene_instruments for the beneficiary.
- Bank Account
- VPA
Show child attributes
Show child attributes
Last name of the beneficiary.
1 - 100"Doe"
Contact details of the beneficiary.
Show child attributes
Show child attributes
Purpose of creating the beneficiary.
"Family"
Optional key-value pairs for any extra information. Keys and values must be strings.
Show child attributes
Show child attributes
Response
Success response for creating a beneficiary.
Unique identifier for the beneficiary, as provided by you during beneficiary creation.
"BENE28448"
Cashfree-generated unique ID for the beneficiary.
"473974924929"
Unique identifier for the user, as provided by you during PPI user creation.
"USER827364"
First name of the beneficiary.
"John"
Last name of the beneficiary.
"Doe"
Status of the beneficiary.
"ACTIVE"
List of payment bene_instruments for the beneficiary.
- Bank Account
- VPA
Show child attributes
Show child attributes
Contact details of the beneficiary. Only not null fields will be returned.
Show child attributes
Show child attributes
"Family"
Optional key-value pairs for any extra information. Keys and values must be strings.
Show child attributes
Show child attributes
Was this page helpful?