curl -X POST https://api.razorpay.com/v1/payments/pay_E8JR8E0XyjUSZd/transfers \
-u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
-H 'content-type: application/json'
-d '{
"transfers": [
{
"account": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870
},
{
"account": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "INR",
"notes": {
"name": "Saurav Kumar",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false
}
]
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String paymentId = "pay_E8JR8E0XyjUSZd";
JSONObject transferRequest = new JSONObject();
List<Object> transfers = new ArrayList<>();
JSONObject transferParams = new JSONObject();
transferParams.put("account","acc_I0QRP7PpvaHhpB");
transferParams.put("amount",100);
transferParams.put("currency","INR");
JSONObject notes = new JSONObject();
notes.put("name","Gaurav Kumar");
notes.put("roll_no","IEC2011026");
transferParams.put("notes",notes);
List<Object> linkedAccountNotes = new ArrayList<>();
linkedAccountNotes.add("roll_no");
transferParams.put("linked_account_notes",linkedAccountNotes);
transferParams.put("on_hold",true);
transfers.add(transferParams);
transferRequest.put("transfers", transfers);
List<Transfer> transfer = razorpay.payments.transfer(paymentId,transferRequest);
$api = new Api($key_id, $secret);
$api->payment->fetch($paymentId)->transfer(array('transfers' => array('account'=> $accountId, 'amount'=> '1000', 'currency'=>'INR', 'notes'=> array('name'=>'Gaurav Kumar', 'roll_no'=>'IEC2011025'), 'linked_account_notes'=>array('branch'), 'on_hold'=> true, 'on_hold_until'=>'1671222870')));
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.payments.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": true,
"on_hold_until": 1671222870
}
]
})
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": True,
"on_hold_until": 1671222870
}
]
})
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
paymentId = "pay_E8JR8E0XyjUSZd"
para_attr = {
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": 1,
"on_hold_until": 1671222870
}
]
}
Razorpay::Payment.fetch(paymentId).transfer(para_attr)
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
data:= map[string]interface{}{
"transfers": []interface{}{
map[string]interface{}{
"account": "acc_HjVXbtpSCIxENR",
"amount": 100,
"currency": "INR",
"notes": map[string]interface{}{
"name": "Gaurav Kumar",
"roll_no": "IEC2011025",
},
"linked_account_notes": []string{
"roll_no",
},
"on_hold": true,
"on_hold_until": 1671222870,
},
},
}
body, err := client.Payment.Transfer("<paymentId>", data, nil)
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]
");
string paymentId = "pay_E8JR8E0XyjUSZd";
Dictionary<string, object> transferRequest = new Dictionary<string, object>();
List<Dictionary<string, object>> transfers = new List<Dictionary<string, object>>();
Dictionary<string, object> transferParams = new Dictionary<string, object>();
transferParams.Add("account", "acc_I0QRP7PpvaHhpB");
transferParams.Add("amount", 100);
transferParams.Add("currency", "INR");
Dictionary<string, object> notes = new Dictionary<string, object>();
notes.Add("name", "Gaurav Kumar");
notes.Add("roll_no", "IEC2011025");
transferParams.Add("notes", notes);
List<string> linkedAccountNotes = new List<string>();
linkedAccountNotes.Add("roll_no");
transferParams.Add("linked_account_notes", linkedAccountNotes);
transferParams.Add("on_hold", true);
transfers.Add(transferParams);
transferRequest.Add("transfers", transfers);
List<Transfer> transfer = client.Payment.Fetch(paymentId).Transfer(transferRequest);
razorpay route transfers create-from-payment pay_ABC123 \
--transfers '[
{"account":"acc_ABC","amount":10000,"currency":"INR","notes":{"branch":"south"},"linked_account_notes":["branch"]},
{"account":"acc_XYZ","amount":20000,"currency":"INR","on_hold":true,"on_hold_until":1779376925}
]'
curl -X POST https://api.razorpay.com/v1/payments/pay_E8JR8E0XyjUSZd/transfers \
-u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
-H 'content-type: application/json'
-d '{
"transfers": [
{
"account": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870
},
{
"account": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "MYR",
"notes": {
"name": "Siti Aisyah",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false
}
]
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String paymentId = "pay_E8JR8E0XyjUSZd";
JSONObject transferRequest = new JSONObject();
List<Object> transfers = new ArrayList<>();
JSONObject transferParams = new JSONObject();
transferParams.put("account","acc_I0QRP7PpvaHhpB");
transferParams.put("amount",100);
transferParams.put("currency","MYR");
JSONObject notes = new JSONObject();
notes.put("name","Nur Aisyah");
notes.put("roll_no","IEC2011026");
transferParams.put("notes",notes);
List<Object> linkedAccountNotes = new ArrayList<>();
linkedAccountNotes.add("roll_no");
transferParams.put("linked_account_notes",linkedAccountNotes);
transferParams.put("on_hold",true);
transfers.add(transferParams);
transferRequest.put("transfers", transfers);
List<Transfer> transfer = razorpay.payments.transfer(paymentId,transferRequest);
$api = new Api($key_id, $secret);
$api->payment->fetch($paymentId)->transfer(array('transfers' => array('account'=> $accountId, 'amount'=> '100', 'currency'=>'MYR', 'notes'=> array('name'=>'Nur Aisyah', 'roll_no'=>'IEC2011025'), 'linked_account_notes'=>array('branch'), 'on_hold'=> true, 'on_hold_until'=>'1671222870')));
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.payments.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": true,
"on_hold_until": 1671222870
}
]
})
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment.fetch({
"transfers":{
"amount":100,
"currency":"MYR",
"notes":{
"name":"Nur Aisyah",
"roll_no":"IEC2011025"
},
"linked_account_notes":[
"branch"
],
"on_hold": True,
"on_hold_until":1671222870
}
})
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
paymentId = "pay_E8JR8E0XyjUSZd"
para_attr = {
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": 1,
"on_hold_until": 1671222870
}
]
}
Razorpay::Payment.fetch(paymentId).transfer(para_attr)
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
data:= map[string]interface{}{
"transfers": []interface{}{
map[string]interface{}{
"account": "acc_HjVXbtpSCIxENR",
"amount": 100,
"currency": "MYR",
"notes": map[string]interface{}{
"name": "Nur Aisyah",
"roll_no": "IEC2011025",
},
"linked_account_notes": []string{
"roll_no",
},
"on_hold": true,
"on_hold_until": 1671222870,
},
},
}
body, err := client.Payment.Transfer("<paymentId>", data, nil)
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]
");
string paymentId = "pay_E8JR8E0XyjUSZd";
Dictionary<string, object> transferRequest = new Dictionary<string, object>();
List<Dictionary<string, object>> transfers = new List<Dictionary<string, object>>();
Dictionary<string, object> transferParams = new Dictionary<string, object>();
transferParams.Add("account", "acc_I0QRP7PpvaHhpB");
transferParams.Add("amount", 100);
transferParams.Add("currency", "MYR");
Dictionary<string, object> notes = new Dictionary<string, object>();
notes.Add("name", "Nur Aisyah");
notes.Add("roll_no", "IEC2011025");
transferParams.Add("notes", notes);
List<string> linkedAccountNotes = new List<string>();
linkedAccountNotes.Add("roll_no");
transferParams.Add("linked_account_notes", linkedAccountNotes);
transferParams.Add("on_hold", true);
transfers.Add(transferParams);
transferRequest.Add("transfers", transfers);
List<Transfer> transfer = client.Payment.Fetch(paymentId).Transfer(transferRequest);
razorpay route transfers create-from-payment pay_ABC123 \
--transfers '[
{"account":"acc_ABC","amount":10000,"currency":"INR","notes":{"branch":"south"},"linked_account_notes":["branch"]},
{"account":"acc_XYZ","amount":20000,"currency":"INR","on_hold":true,"on_hold_until":1779376925}
]'
{
"entity": "collection",
"count": 2,
"items": [
{
"id": "trf_JJD535tJtk6Yy0",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "INR",
"amount_reversed": 0,
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD535tJtk6Yy0",
"source": null,
"metadata": null
}
},
{
"id": "trf_JJD536GI6wuz3m",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "INR",
"amount_reversed": 0,
"notes": {
"name": "Saurav Kumar",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false,
"on_hold_until": null,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD536GI6wuz3m",
"source": null,
"metadata": null
}
}
]
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"The api key provided is invalid",
"source":"NA",
"step":"NA",
"reason":"NA",
"metadata":{
}
}
}
{
"entity": "collection",
"count": 2,
"items": [
{
"id": "trf_JJD535tJtk6Yy0",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "MYR",
"amount_reversed": 0,
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD535tJtk6Yy0",
"source": null,
"metadata": null
}
},
{
"id": "trf_JJD536GI6wuz3m",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "MYR",
"amount_reversed": 0,
"notes": {
"name": "Siti Aisyah",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false,
"on_hold_until": null,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD536GI6wuz3m",
"source": null,
"metadata": null
}
}
]
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"The api key provided is invalid",
"source":"NA",
"step":"NA",
"reason":"NA",
"metadata":{
}
}
}
Route
Create Transfers From Payments
Initiate Transfers from captured payments using the Razorpay API.
POST
/
v1
/
payments
/
:id
/
transfers
curl -X POST https://api.razorpay.com/v1/payments/pay_E8JR8E0XyjUSZd/transfers \
-u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
-H 'content-type: application/json'
-d '{
"transfers": [
{
"account": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870
},
{
"account": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "INR",
"notes": {
"name": "Saurav Kumar",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false
}
]
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String paymentId = "pay_E8JR8E0XyjUSZd";
JSONObject transferRequest = new JSONObject();
List<Object> transfers = new ArrayList<>();
JSONObject transferParams = new JSONObject();
transferParams.put("account","acc_I0QRP7PpvaHhpB");
transferParams.put("amount",100);
transferParams.put("currency","INR");
JSONObject notes = new JSONObject();
notes.put("name","Gaurav Kumar");
notes.put("roll_no","IEC2011026");
transferParams.put("notes",notes);
List<Object> linkedAccountNotes = new ArrayList<>();
linkedAccountNotes.add("roll_no");
transferParams.put("linked_account_notes",linkedAccountNotes);
transferParams.put("on_hold",true);
transfers.add(transferParams);
transferRequest.put("transfers", transfers);
List<Transfer> transfer = razorpay.payments.transfer(paymentId,transferRequest);
$api = new Api($key_id, $secret);
$api->payment->fetch($paymentId)->transfer(array('transfers' => array('account'=> $accountId, 'amount'=> '1000', 'currency'=>'INR', 'notes'=> array('name'=>'Gaurav Kumar', 'roll_no'=>'IEC2011025'), 'linked_account_notes'=>array('branch'), 'on_hold'=> true, 'on_hold_until'=>'1671222870')));
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.payments.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": true,
"on_hold_until": 1671222870
}
]
})
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": True,
"on_hold_until": 1671222870
}
]
})
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
paymentId = "pay_E8JR8E0XyjUSZd"
para_attr = {
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": 1,
"on_hold_until": 1671222870
}
]
}
Razorpay::Payment.fetch(paymentId).transfer(para_attr)
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
data:= map[string]interface{}{
"transfers": []interface{}{
map[string]interface{}{
"account": "acc_HjVXbtpSCIxENR",
"amount": 100,
"currency": "INR",
"notes": map[string]interface{}{
"name": "Gaurav Kumar",
"roll_no": "IEC2011025",
},
"linked_account_notes": []string{
"roll_no",
},
"on_hold": true,
"on_hold_until": 1671222870,
},
},
}
body, err := client.Payment.Transfer("<paymentId>", data, nil)
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]
");
string paymentId = "pay_E8JR8E0XyjUSZd";
Dictionary<string, object> transferRequest = new Dictionary<string, object>();
List<Dictionary<string, object>> transfers = new List<Dictionary<string, object>>();
Dictionary<string, object> transferParams = new Dictionary<string, object>();
transferParams.Add("account", "acc_I0QRP7PpvaHhpB");
transferParams.Add("amount", 100);
transferParams.Add("currency", "INR");
Dictionary<string, object> notes = new Dictionary<string, object>();
notes.Add("name", "Gaurav Kumar");
notes.Add("roll_no", "IEC2011025");
transferParams.Add("notes", notes);
List<string> linkedAccountNotes = new List<string>();
linkedAccountNotes.Add("roll_no");
transferParams.Add("linked_account_notes", linkedAccountNotes);
transferParams.Add("on_hold", true);
transfers.Add(transferParams);
transferRequest.Add("transfers", transfers);
List<Transfer> transfer = client.Payment.Fetch(paymentId).Transfer(transferRequest);
razorpay route transfers create-from-payment pay_ABC123 \
--transfers '[
{"account":"acc_ABC","amount":10000,"currency":"INR","notes":{"branch":"south"},"linked_account_notes":["branch"]},
{"account":"acc_XYZ","amount":20000,"currency":"INR","on_hold":true,"on_hold_until":1779376925}
]'
curl -X POST https://api.razorpay.com/v1/payments/pay_E8JR8E0XyjUSZd/transfers \
-u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
-H 'content-type: application/json'
-d '{
"transfers": [
{
"account": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870
},
{
"account": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "MYR",
"notes": {
"name": "Siti Aisyah",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false
}
]
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String paymentId = "pay_E8JR8E0XyjUSZd";
JSONObject transferRequest = new JSONObject();
List<Object> transfers = new ArrayList<>();
JSONObject transferParams = new JSONObject();
transferParams.put("account","acc_I0QRP7PpvaHhpB");
transferParams.put("amount",100);
transferParams.put("currency","MYR");
JSONObject notes = new JSONObject();
notes.put("name","Nur Aisyah");
notes.put("roll_no","IEC2011026");
transferParams.put("notes",notes);
List<Object> linkedAccountNotes = new ArrayList<>();
linkedAccountNotes.add("roll_no");
transferParams.put("linked_account_notes",linkedAccountNotes);
transferParams.put("on_hold",true);
transfers.add(transferParams);
transferRequest.put("transfers", transfers);
List<Transfer> transfer = razorpay.payments.transfer(paymentId,transferRequest);
$api = new Api($key_id, $secret);
$api->payment->fetch($paymentId)->transfer(array('transfers' => array('account'=> $accountId, 'amount'=> '100', 'currency'=>'MYR', 'notes'=> array('name'=>'Nur Aisyah', 'roll_no'=>'IEC2011025'), 'linked_account_notes'=>array('branch'), 'on_hold'=> true, 'on_hold_until'=>'1671222870')));
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.payments.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": true,
"on_hold_until": 1671222870
}
]
})
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment.fetch({
"transfers":{
"amount":100,
"currency":"MYR",
"notes":{
"name":"Nur Aisyah",
"roll_no":"IEC2011025"
},
"linked_account_notes":[
"branch"
],
"on_hold": True,
"on_hold_until":1671222870
}
})
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
paymentId = "pay_E8JR8E0XyjUSZd"
para_attr = {
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": 1,
"on_hold_until": 1671222870
}
]
}
Razorpay::Payment.fetch(paymentId).transfer(para_attr)
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
data:= map[string]interface{}{
"transfers": []interface{}{
map[string]interface{}{
"account": "acc_HjVXbtpSCIxENR",
"amount": 100,
"currency": "MYR",
"notes": map[string]interface{}{
"name": "Nur Aisyah",
"roll_no": "IEC2011025",
},
"linked_account_notes": []string{
"roll_no",
},
"on_hold": true,
"on_hold_until": 1671222870,
},
},
}
body, err := client.Payment.Transfer("<paymentId>", data, nil)
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]
");
string paymentId = "pay_E8JR8E0XyjUSZd";
Dictionary<string, object> transferRequest = new Dictionary<string, object>();
List<Dictionary<string, object>> transfers = new List<Dictionary<string, object>>();
Dictionary<string, object> transferParams = new Dictionary<string, object>();
transferParams.Add("account", "acc_I0QRP7PpvaHhpB");
transferParams.Add("amount", 100);
transferParams.Add("currency", "MYR");
Dictionary<string, object> notes = new Dictionary<string, object>();
notes.Add("name", "Nur Aisyah");
notes.Add("roll_no", "IEC2011025");
transferParams.Add("notes", notes);
List<string> linkedAccountNotes = new List<string>();
linkedAccountNotes.Add("roll_no");
transferParams.Add("linked_account_notes", linkedAccountNotes);
transferParams.Add("on_hold", true);
transfers.Add(transferParams);
transferRequest.Add("transfers", transfers);
List<Transfer> transfer = client.Payment.Fetch(paymentId).Transfer(transferRequest);
razorpay route transfers create-from-payment pay_ABC123 \
--transfers '[
{"account":"acc_ABC","amount":10000,"currency":"INR","notes":{"branch":"south"},"linked_account_notes":["branch"]},
{"account":"acc_XYZ","amount":20000,"currency":"INR","on_hold":true,"on_hold_until":1779376925}
]'
{
"entity": "collection",
"count": 2,
"items": [
{
"id": "trf_JJD535tJtk6Yy0",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "INR",
"amount_reversed": 0,
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD535tJtk6Yy0",
"source": null,
"metadata": null
}
},
{
"id": "trf_JJD536GI6wuz3m",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "INR",
"amount_reversed": 0,
"notes": {
"name": "Saurav Kumar",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false,
"on_hold_until": null,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD536GI6wuz3m",
"source": null,
"metadata": null
}
}
]
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"The api key provided is invalid",
"source":"NA",
"step":"NA",
"reason":"NA",
"metadata":{
}
}
}
{
"entity": "collection",
"count": 2,
"items": [
{
"id": "trf_JJD535tJtk6Yy0",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "MYR",
"amount_reversed": 0,
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD535tJtk6Yy0",
"source": null,
"metadata": null
}
},
{
"id": "trf_JJD536GI6wuz3m",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "MYR",
"amount_reversed": 0,
"notes": {
"name": "Siti Aisyah",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false,
"on_hold_until": null,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD536GI6wuz3m",
"source": null,
"metadata": null
}
}
]
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"The api key provided is invalid",
"source":"NA",
"step":"NA",
"reason":"NA",
"metadata":{
}
}
}
Use this endpoint to create Transfers from captured payments. You can create and capture payments in the regular payments flow using the Razorpay Checkout and Payment APIs.
You should perform additional steps to disburse payments using Razorpay Route.
- The customer pays the amount using the standard payment flow.
- Once the payment is
captured, you can initiate a transfer to Linked Accounts with a transfer API call. You have to pass the details such asaccount_idandamount.
curl -X POST https://api.razorpay.com/v1/payments/pay_E8JR8E0XyjUSZd/transfers \
-u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
-H 'content-type: application/json'
-d '{
"transfers": [
{
"account": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870
},
{
"account": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "INR",
"notes": {
"name": "Saurav Kumar",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false
}
]
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String paymentId = "pay_E8JR8E0XyjUSZd";
JSONObject transferRequest = new JSONObject();
List<Object> transfers = new ArrayList<>();
JSONObject transferParams = new JSONObject();
transferParams.put("account","acc_I0QRP7PpvaHhpB");
transferParams.put("amount",100);
transferParams.put("currency","INR");
JSONObject notes = new JSONObject();
notes.put("name","Gaurav Kumar");
notes.put("roll_no","IEC2011026");
transferParams.put("notes",notes);
List<Object> linkedAccountNotes = new ArrayList<>();
linkedAccountNotes.add("roll_no");
transferParams.put("linked_account_notes",linkedAccountNotes);
transferParams.put("on_hold",true);
transfers.add(transferParams);
transferRequest.put("transfers", transfers);
List<Transfer> transfer = razorpay.payments.transfer(paymentId,transferRequest);
$api = new Api($key_id, $secret);
$api->payment->fetch($paymentId)->transfer(array('transfers' => array('account'=> $accountId, 'amount'=> '1000', 'currency'=>'INR', 'notes'=> array('name'=>'Gaurav Kumar', 'roll_no'=>'IEC2011025'), 'linked_account_notes'=>array('branch'), 'on_hold'=> true, 'on_hold_until'=>'1671222870')));
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.payments.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": true,
"on_hold_until": 1671222870
}
]
})
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": True,
"on_hold_until": 1671222870
}
]
})
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
paymentId = "pay_E8JR8E0XyjUSZd"
para_attr = {
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "INR",
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": 1,
"on_hold_until": 1671222870
}
]
}
Razorpay::Payment.fetch(paymentId).transfer(para_attr)
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
data:= map[string]interface{}{
"transfers": []interface{}{
map[string]interface{}{
"account": "acc_HjVXbtpSCIxENR",
"amount": 100,
"currency": "INR",
"notes": map[string]interface{}{
"name": "Gaurav Kumar",
"roll_no": "IEC2011025",
},
"linked_account_notes": []string{
"roll_no",
},
"on_hold": true,
"on_hold_until": 1671222870,
},
},
}
body, err := client.Payment.Transfer("<paymentId>", data, nil)
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]
");
string paymentId = "pay_E8JR8E0XyjUSZd";
Dictionary<string, object> transferRequest = new Dictionary<string, object>();
List<Dictionary<string, object>> transfers = new List<Dictionary<string, object>>();
Dictionary<string, object> transferParams = new Dictionary<string, object>();
transferParams.Add("account", "acc_I0QRP7PpvaHhpB");
transferParams.Add("amount", 100);
transferParams.Add("currency", "INR");
Dictionary<string, object> notes = new Dictionary<string, object>();
notes.Add("name", "Gaurav Kumar");
notes.Add("roll_no", "IEC2011025");
transferParams.Add("notes", notes);
List<string> linkedAccountNotes = new List<string>();
linkedAccountNotes.Add("roll_no");
transferParams.Add("linked_account_notes", linkedAccountNotes);
transferParams.Add("on_hold", true);
transfers.Add(transferParams);
transferRequest.Add("transfers", transfers);
List<Transfer> transfer = client.Payment.Fetch(paymentId).Transfer(transferRequest);
razorpay route transfers create-from-payment pay_ABC123 \
--transfers '[
{"account":"acc_ABC","amount":10000,"currency":"INR","notes":{"branch":"south"},"linked_account_notes":["branch"]},
{"account":"acc_XYZ","amount":20000,"currency":"INR","on_hold":true,"on_hold_until":1779376925}
]'
curl -X POST https://api.razorpay.com/v1/payments/pay_E8JR8E0XyjUSZd/transfers \
-u [YOUR_KEY_ID]:[YOUR_KEY_SECRET]
-H 'content-type: application/json'
-d '{
"transfers": [
{
"account": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870
},
{
"account": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "MYR",
"notes": {
"name": "Siti Aisyah",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false
}
]
}'
RazorpayClient razorpay = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]");
String paymentId = "pay_E8JR8E0XyjUSZd";
JSONObject transferRequest = new JSONObject();
List<Object> transfers = new ArrayList<>();
JSONObject transferParams = new JSONObject();
transferParams.put("account","acc_I0QRP7PpvaHhpB");
transferParams.put("amount",100);
transferParams.put("currency","MYR");
JSONObject notes = new JSONObject();
notes.put("name","Nur Aisyah");
notes.put("roll_no","IEC2011026");
transferParams.put("notes",notes);
List<Object> linkedAccountNotes = new ArrayList<>();
linkedAccountNotes.add("roll_no");
transferParams.put("linked_account_notes",linkedAccountNotes);
transferParams.put("on_hold",true);
transfers.add(transferParams);
transferRequest.put("transfers", transfers);
List<Transfer> transfer = razorpay.payments.transfer(paymentId,transferRequest);
$api = new Api($key_id, $secret);
$api->payment->fetch($paymentId)->transfer(array('transfers' => array('account'=> $accountId, 'amount'=> '100', 'currency'=>'MYR', 'notes'=> array('name'=>'Nur Aisyah', 'roll_no'=>'IEC2011025'), 'linked_account_notes'=>array('branch'), 'on_hold'=> true, 'on_hold_until'=>'1671222870')));
var instance = new Razorpay({ key_id: 'YOUR_KEY_ID', key_secret: 'YOUR_SECRET' })
instance.payments.transfer(paymentId,{
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": true,
"on_hold_until": 1671222870
}
]
})
client = razorpay.Client(auth=("YOUR_ID", "YOUR_SECRET"))
client.payment.fetch({
"transfers":{
"amount":100,
"currency":"MYR",
"notes":{
"name":"Nur Aisyah",
"roll_no":"IEC2011025"
},
"linked_account_notes":[
"branch"
],
"on_hold": True,
"on_hold_until":1671222870
}
})
require "razorpay"
Razorpay.setup('YOUR_KEY_ID', 'YOUR_SECRET')
paymentId = "pay_E8JR8E0XyjUSZd"
para_attr = {
"transfers": [
{
"account": 'acc_HgzcrXeSLfNP9U',
"amount": 100,
"currency": "MYR",
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"branch"
],
"on_hold": 1,
"on_hold_until": 1671222870
}
]
}
Razorpay::Payment.fetch(paymentId).transfer(para_attr)
import ( razorpay "github.com/razorpay/razorpay-go" )
client := razorpay.NewClient("YOUR_KEY_ID", "YOUR_SECRET")
data:= map[string]interface{}{
"transfers": []interface{}{
map[string]interface{}{
"account": "acc_HjVXbtpSCIxENR",
"amount": 100,
"currency": "MYR",
"notes": map[string]interface{}{
"name": "Nur Aisyah",
"roll_no": "IEC2011025",
},
"linked_account_notes": []string{
"roll_no",
},
"on_hold": true,
"on_hold_until": 1671222870,
},
},
}
body, err := client.Payment.Transfer("<paymentId>", data, nil)
RazorpayClient client = new RazorpayClient("[YOUR_KEY_ID]", "[YOUR_KEY_SECRET]
");
string paymentId = "pay_E8JR8E0XyjUSZd";
Dictionary<string, object> transferRequest = new Dictionary<string, object>();
List<Dictionary<string, object>> transfers = new List<Dictionary<string, object>>();
Dictionary<string, object> transferParams = new Dictionary<string, object>();
transferParams.Add("account", "acc_I0QRP7PpvaHhpB");
transferParams.Add("amount", 100);
transferParams.Add("currency", "MYR");
Dictionary<string, object> notes = new Dictionary<string, object>();
notes.Add("name", "Nur Aisyah");
notes.Add("roll_no", "IEC2011025");
transferParams.Add("notes", notes);
List<string> linkedAccountNotes = new List<string>();
linkedAccountNotes.Add("roll_no");
transferParams.Add("linked_account_notes", linkedAccountNotes);
transferParams.Add("on_hold", true);
transfers.Add(transferParams);
transferRequest.Add("transfers", transfers);
List<Transfer> transfer = client.Payment.Fetch(paymentId).Transfer(transferRequest);
razorpay route transfers create-from-payment pay_ABC123 \
--transfers '[
{"account":"acc_ABC","amount":10000,"currency":"INR","notes":{"branch":"south"},"linked_account_notes":["branch"]},
{"account":"acc_XYZ","amount":20000,"currency":"INR","on_hold":true,"on_hold_until":1779376925}
]'
{
"entity": "collection",
"count": 2,
"items": [
{
"id": "trf_JJD535tJtk6Yy0",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "INR",
"amount_reversed": 0,
"notes": {
"name": "Gaurav Kumar",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD535tJtk6Yy0",
"source": null,
"metadata": null
}
},
{
"id": "trf_JJD536GI6wuz3m",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "INR",
"amount_reversed": 0,
"notes": {
"name": "Saurav Kumar",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false,
"on_hold_until": null,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD536GI6wuz3m",
"source": null,
"metadata": null
}
}
]
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"The api key provided is invalid",
"source":"NA",
"step":"NA",
"reason":"NA",
"metadata":{
}
}
}
{
"entity": "collection",
"count": 2,
"items": [
{
"id": "trf_JJD535tJtk6Yy0",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IROu8Nod6PXPtZ",
"amount": 100,
"currency": "MYR",
"amount_reversed": 0,
"notes": {
"name": "Nur Aisyah",
"roll_no": "IEC2011025"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": true,
"on_hold_until": 1671222870,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD535tJtk6Yy0",
"source": null,
"metadata": null
}
},
{
"id": "trf_JJD536GI6wuz3m",
"entity": "transfer",
"status": "pending",
"source": "pay_JGmCgTEa9OTQcX",
"recipient": "acc_IRQWUleX4BqvYn",
"amount": 300,
"currency": "MYR",
"amount_reversed": 0,
"notes": {
"name": "Siti Aisyah",
"roll_no": "IEC2011026"
},
"linked_account_notes": [
"roll_no"
],
"on_hold": false,
"on_hold_until": null,
"recipient_settlement_id": null,
"created_at": 1649933574,
"processed_at": null,
"error": {
"code": null,
"description": null,
"reason": null,
"field": null,
"step": null,
"id": "trf_JJD536GI6wuz3m",
"source": null,
"metadata": null
}
}
]
}
{
"error":{
"code":"BAD_REQUEST_ERROR",
"description":"The api key provided is invalid",
"source":"NA",
"step":"NA",
"reason":"NA",
"metadata":{
}
}
}
Path Parameters
string
required
Unique identifier of the payment on which the transfer must be created.
Request Parameters
array
Details regarding the transfer.
string
required
Unique identifier of the Linked Account to which the transfer is to be made.
integer
required
The amount to be transferred to the Linked Account. For example, for an amount of ₹200.35, the value of this field should be 20035.
string
required
The currency in which the transfer should be made. We support only
INR for Route transactions.json object
Set of key-value pairs that can be associated with an entity. These pairs can be useful for storing additional information about the entity. A maximum of 15 key-value pairs, each of 256 characters (maximum), are supported. For example,
"region": "south", "city": "Bangalore".array
List of keys from the
notes object which needs to be shown to Linked Accounts on their Dashboard. For example, "region", "city". Only the keys will be shown, not values.boolean
Indicates whether the account settlement for transfer is on hold. Know more about on hold settlements. Possible values:
true: Puts the settlement on hold.false: Releases the settlement.
integer
Timestamp, in Unix, that indicates until when the settlement of the transfer must be put on hold. If no value is passed, the settlement is put on hold indefinitely. We recommend you set the on_hold_until value greater than 30 mins from the transfer creation time.
Handy Tips
-
The settlement schedule defined for the Linked Account takes precedence over the
on_holdandon_hold_untilfunctionality. This means that a defined settlement schedule is the minimum time required for the transfer to be settled. -
Let us take the example of a T+10 settlement schedule:
- If you create a transfer with
on_hold: trueand then release it on T+7 day, the settlement will only go out on T+10 day. - If you create a transfer with
on_hold: trueandon_hold_until: 1491567400(assume the timestamp 1491567400 corresponds to 7 days after transfer), theon_holdwill change to false on T+7 day. The settlement will only go out on T+10 day.
- If you create a transfer with
Response Parameters
string
Unique identifier of the transfer.
string
The name of the entity. Here, it is
transfer.string
The status of the transfer. Possible values are:
createdpendingprocessedfailedreversedpartially_reversed
string
The status of the settlement. Possible values are:
pendingon_holdsettled
string
Unique identifier of the transfer source. The source can be a
payment or an order.string
Unique identifier of the transfer destination, that is, the Linked Account.
integer
The amount to be transferred to the Linked Account, in paise. For example, for an amount of ₹200.35, the value of this field should be 20035.
string
ISO currency code. We support route transfers only in
INR.integer
Amount reversed from this transfer for refunds.
json object
Set of key-value pairs that can be associated with an entity. These pairs can be useful for storing additional information about the entity. A maximum of 15 key-value pairs, each of 256 characters (maximum), are supported. For example,
"region": "south", "city": "Bangalore".string
Provides error details that may occur during transfers.
string
Type of the error.
string
Error description.
string
Name of the parameter in the API request that caused the error.
string
The point of failure in the specific operation. For example, customer, business and so on.
string
The stage where the transaction failure occurred. Stages can be different depending on the payment method used to make the transaction.
string
Unique identifier of the transfer.
string
The exact error reason. It can be handled programmatically.
array
List of keys from the
notes object which needs to be shown to Linked Accounts on their Dashboard. For example, "region", "city". Only the keys will be shown, not values.boolean
Indicates whether the account settlement for transfer is on hold. Possible values:
true: Puts the settlement on hold.false: Releases the settlement.
integer
Timestamp, in Unix format, indicates until when the settlement of the transfer must be put on hold. If no value is passed, the settlement is put on hold indefinitely.
string
Unique identifier of the settlement.
integer
Timestamp, in Unix, at which the record was created.
Errors
The api key/secret provided is invalid
The api key/secret provided is invalid
Code:
4xxThis error occurs when there is a mismatch between the API credentials passed in the API call and the API credentials generated on the Dashboard.Solution: Make sure the API Keys are active and entered correctly. Also, there should not be any whitespaces before or after the keys.The transfers.0.amount must be at least 100.
The transfers.0.amount must be at least 100.
Code:
400This error occurs when the amount is less than the minimum amount. The transaction amount expressed in the currency subunit, such as paise (in INR) should always be greater than or equal to 100.Solution: Make sure the amount is equal to or greater than the minimum amount of ₹100.The input field is required
The input field is required
Code:
400This error occurs when a mandatory field is empty.Solution: Make sure to fill in all the mandatory fields.payment_id is not a valid id
payment_id is not a valid id
Code:
400This error occurs when you pass an invalid payment_id in the API endpoint.Solution: Make sure to pass a vaild payment_id.The id provided does not exist
The id provided does not exist
Code:
400This error occurs when there is a miss-match between the API keys via which the transaction was initiated for that particular payment_id and the API keys passed in the API call.Solution: Ensure the API keys via which you have accepted the payment for the payment_id passed in the API endpoint matches the API keys passed in the API call.input is an invalid account_code.
input is an invalid account_code.
Code:
400This error occurs when the account_code passed is invalid or does not belong to the requested merchant.Solution: Make sure to pass the valid account_code.Transfer cannot be made due to insufficient balance
Transfer cannot be made due to insufficient balance
Code:
400This error occurs when the total balance is less than or equal to the transfer amount.Solution: Make sure you have enough balance. You can also add funds to the account and then try doing the transfer.The sum of amount requested for transfer is greater than the captured amount
The sum of amount requested for transfer is greater than the captured amount
Code:
400This error occurs when the total transferred amount exceeds the captured payment amount.Solution: Make sure the transfer amount is less than the captured payment.