Bank Account🔗
Use the below endpoint to create a payout using contact and bank account details.
Handy Tips
- Contact
- A new contact is created if any combination of the following details is unique:
fund_account.contact.name
,fund_account.contact.email
,fund_account.contact.contact
,fund_account.contact.type
andfund_account.contact.reference_id
. - If all the above details match the details of an existing contact, the API returns details of the existing contact.
- Use the Update Contact API if you want to make changes to an existing contact.
- A new contact is created if any combination of the following details is unique:
- Fund Account
- A new fund account is created if any combination of the following details is unique:
fund_account.bank_account.name
,fund_account.bank_account.ifsc
,fund_account.bank_account.account_number
,fund_account.contact.name
,fund_account.contact.email
,fund_account.contact.contact
,fund_account.contact.type
andfund_account.contact.reference_id
. - If all the above details match the details of an existing fund account, the API returns details of the existing fund account.
- You cannot edit the details of a fund account.
- A new fund account is created if any combination of the following details is unique:
Request Parameters🔗
account_number
mandatory-
string
The account from which you want to make the payout.
Account details can be found on the RazorpayX Dashboard. For example,7878780080316316
.- Pass your virtual account number if you want money to be deducted from your virtual account.
- Pass your current account number if you want money to be deducted from your current account.
Watch Out!
This is NOT your contact's bank account number.
amount
mandatory-
integer
The payout amount, in paise. For example, if you want to transfer ₹10000, pass1000000
. Minimum value is100
.Handy Tips
The value passed here does not include fees and tax. Fees and tax, if any, are deducted from your account balance. currency
mandatory-
string
The payout currency. Here, it isINR
. mode
mandatory-
string
The mode to be used to create the payout. Available modes:NEFT
RTGS
IMPS
card
Watch Out!
The payout modes are case sensitive. When creating payouts using APIs, ensure payout modes are entered in upper case.
purpose
mandatory-
string
The purpose of the payout. Classifications available in the system by default:refund
cashback
payout
salary
utility bill
vendor bill
Handy Tips
Additional purposes for payouts can be created via the Dashboard and then used in the API. However, it is not possible to create a new purpose for the payout via the API.
fund_account
-
Details of the contact and fund account to which the payout should be made.
account_type
mandatory-
string
The type of account to be linked to the contact ID. Here, the value has to bebank_account
. bank_account
-
The contact's bank account details.
name
mandatorystring
Account holder's name. Between 4 and 120 characters. This field is case sensitive. Supported characters:a-z
,A-Z
,0-9
,space
,’
,-
,_
,/
,(
,)
and ,.
. For example,Gaurav Kumar
.ifsc
mandatorystring
Beneficiary bank IFSC. Has to be 11 characters. Unique identifier of a bank branch. For example,HDFC0000053
.account_number
mandatorystring
Beneficiary bank account number. Between 5 and 35 characters. Supported characters:a-z
,A-Z
and0-9
. Beneficiary account number. For example,765432123456789
.
contact
-
Details of the contact to whom the payout should be made.
name
mandatorystring
Contact's name. Minimum 3 characters. Maximum 50 characters. This field is case sensitive. Supported characters:a-z
,A-Z
,0-9
,space
,’
,-
,_
,/
,(
,)
and ,.
. For example,Gaurav Kumar
.email
optionalstring
The contact's email address. For example,gaurav.kumar@example.com
.contact
optionalstring
The contact's phone number. For example,9123456789
.type
optionalstring
Classification for the contact. For example,employee
. Classifications are available by default:vendor
customer
employee
self
Additional classifications:
Additional classifications can be created via the Dashboard and then used in APIs. It is not possible to create new classifications via the API.
reference_id
optionalstring
Maximum length 40 characters. A reference you enter for the contact. For example,Acme Contact ID 12345
.notes
optionalobject
Notes you can enter for the contact for future reference. This is a key-value pair. For example,"note_key": "Beam me up Scotty"
.
queue_if_low_balance
optional-
boolean
Possible values:true
: The payout is queued when your business account does not have sufficient balance to process the payout.false
(default): The payout is never queued. The payout fails if your business account does not have sufficient balance to process the payout.
reference_id
optional-
string
Maximum length 40 characters. A reference you enter for the payout. For example,Acme Transaction ID 12345
. You can use this field to store your own transaction ID, if any. narration
optional-
string
Maximum length 30 characters. Allowed characters:a-z
,A-Z
,0-9
andspace
. This is a custom note that also appears on the bank statement.Handy Tips
- If no value is passed for this parameter, it defaults to the Merchant Billing Label.
- Ensure that the most important text forms the first 9 characters as banks may truncate the rest as per their standards.
notes
optional-
object
Key-value pair that can be used to store additional information about the entity. Maximum 15 key-value pairs, 256 characters (maximum) each. For example,"note_key": "Beam me up Scotty”
.
Response Parameters🔗
id
-
string
The unique identifier linked to the payout. For example,pout_00000000000001
. entity
-
string
The entity being created. Here, it will bepayout
. fund_account_id
-
string
The unique identifier linked to the fund account. For example,fa_00000000000001
. fund_account
-
Contact and fund account details to which the payout was made.
id
-
string
The unique identifier linked to the fund account. For example,fa_00000000000001
. entity
-
string
Here it will befund_account
. contact_id
-
string
The unique identifier linked to the contact. For example,cont_00000000000001
. contact
-
Details of the contact to whom the payout is being made.
id
string
The unique identifier linked to the contact. For example,cont_00000000000001
.entity
string
The entity being created. Here, it will becontact
.name
string
The contact's name. For example,Gaurav Kumar
.contact
string
The contact's phone number. For example,9123456789
.email
string
The contact's email address. For example,gaurav.kumar@example.com
.type
string
Classification for the contact being created. For example,employee
. Classifications are available by default:vendor
customer
employee
self
Handy Tips
Additional Classifications can be created via the Dashboard and then used in APIs. It is not possible to create new Classifications via API.
reference_id
string
A reference you entered for the contact. For example,Acme Contact ID 12345
.batch_id
string
This parameter is populated if the contact was created as part of a bulk upload. For example,batch_00000000000001
.active
boolean
Possible values:true
: activefalse
: inactive
notes
object
User-entered notes for internal reference. This is a key-value pair. You can enter a maximum of 15 key-value pairs. For example,"note_key": "Beam me up Scotty”
.created_at
integer
Timestamp, in Unix, when the contact was created. For example,1545320320
.
account_type
-
string
The type of fund account being created. Here, it will bebank_account
. bank_account
-
The contact's bank account details.
ifsc
string
Unique identifier of a bank branch. For example,HDFC0000053
.bank_name
string
The contact's bank name. For example,HDFC
.name
string
Account holder's name. For example,Gaurav Kumar
.account_number
string
Beneficiary account number. For example,765432123456789
.
active
-
boolean
Possible values:true
: activefalse
: inactive
batch_id
-
string
This parameter is populated if the fund account was created as part of a bulk upload. For example,batch_00000000000001
. created_at
-
integer
Timestamp, in Unix, when the fund account was created. For example,1545320320
.
amount
-
integer
Minimum value100
. The payout amount, in paise. For example, if you want to transfer ₹10000, pass1000000
.Handy Tips
The value passed here does not include fees and tax. Fees and tax, if any, are deducted from your account balance. currency
-
string
The payout currency. Here, it isINR
. notes
-
object
User-entered notes for internal reference. This is a key-value pair. You can enter a maximum of 15 key-value pairs. For example,"note_key": "Beam me up Scotty”
. fees
-
integer
The fees for the payout. This field is populated only when the payout moves to theprocessing
state. For example,5
. tax
-
integer
The tax that is applicable for the fee being charged. This field is populated only when the payout moves to theprocessing
state. For example,1
. status
-
string
The payout status. Possible payout states:queued
pending
(if you have Approval Workflow enabled)rejected
(if you have Approval Workflow enabled)processing
processed
cancelled
reversed
purpose
-
string
The purpose of the payout. Classifications available by default:refund
cashback
payout
salary
utility bill
vendor bill
Handy Tips
Additional purposes for payouts can be created via the Dashboard and then used in the API. However, it is not possible to create a new purpose for the payout via the API.
utr
-
string
The unique transaction number linked to a payout. For example,HDFCN00000000001
. mode
-
string
The mode used to make the payout. Available modes:NEFT
RTGS
IMPS
UPI
card
reference_id
-
string
A reference you entered for the payout. For example,Acme Transaction ID 12345
. You can use this field to store your own transaction ID, if any. narration
-
string
This is a custom note that also appears on the bank statement.
If no value is passed for this parameter, it defaults to the Merchant Billing Label. batch_id
-
string
This parameter is populated if the contact was created as part of a bulk upload. For example,batch_00000000000001
. status_details
-
object
This parameter returns the current status of the payout. For example,IMPS is not enabled on beneficiary account, Retry with different mode.
description
string
A description for the error. For example,IMPS is not enabled on beneficiary account, please retry with different mode
.source
string
Possible values:gateway
: Technical error at Razorpay Partner bank.beneficiary_bank
: Technical error at beneficiary bank.business
: Merchant action required.internal
: Technical error at Razorpay's server.
reason
string
The error reason. For example,imps_not_allowed
. Failure reasons and next steps.
created_at
-
integer
Timestamp, in Unix, at which the payout was created. For example,1545320320
. fee_type
-
string
Indicates the fee type charged for the payout. Possible values:free_payout