API Test Keys
Create a Payout Without Saving Card
POST
/v1/payouts
Click to copy
Watch Out!
Payout APIs are not available in Malaysia.
Use this endpoint to create a payout to fund account type card
without saving the card.
To understand the status of the payouts, refer to
.Watch Out!
Is this page helpful?
1curl -u <YOUR_KEY>:<YOUR_SECRET> \2-X POST https://api.razorpay.com/v1/payouts \3-H "Content-Type: application/json" \4-H "X-Payout-Idempotency: 53cda91c-8f81-4e77-bbb9-7388f4ac6bf4" \5-d '{6"account_number": "7878780080316316",7"amount": 1000000,8"currency": "INR",9"mode": "NEFT",10"purpose": "refund",11"fund_account": {12"account_type": "card",13"card": {14"number": "765432123456789",15"name": "Gaurav Kumar",16"input_type": "card"17},18"contact": {19"email": "gaurav.kumar@example.com",20"contact": "9876543210",21"type": "employee",22"reference_id": "Acme Contact ID 12345",23"notes": {24"notes_key_1": "Tea, Earl Grey, Hot",25"notes_key_2": "Tea, Earl Grey… decaf."26}27}28},29"queue_if_low_balance": true,30"reference_id": "Acme Transaction ID 12345",31"narration": "Acme Corp Fund Transfer",32"notes": {33"notes_key_1": "Beam me up Scotty",34"notes_key_2": "Engage"35}36}'
Success
1{2"id": "pout_00000000000001",3"entity": "payout",4"fund_account_id": "fa_00000000000001",5"fund_account": {6"id": "fa_00000000000001",7"entity": "fund_account",8"contact_id": "cont_00000000000001",9"contact": {10"id": "cont_00000000000001",11"entity": "contact",12"contact": "9876543210",13"email": "gaurav.kumar@example.com",14"type": "employee",15"reference_id": "Acme Contact ID 12345",16"batch_id": null,17"active": true,18"notes": {19"notes_key_1": "Tea, Earl Grey, Hot",20"notes_key_2": "Tea, Earl Grey… decaf."21},22"created_at": 158081735323},24"account_type": "card",25"card": {26"last4": "6789",27"network": "Visa",28"type": "credit",29"issuer": "HDFC",30"input_type": "card"31},32"batch_id": null,33"active": true,34"created_at": 158108027235},36"amount": 1000000,37"currency": "INR",38"notes": {39"notes_key_1": "Beam me up Scotty",40"notes_key_2": "Engage"41},42"fees": 590,43"tax": 90,44"status": "processed",45"purpose": "payout",46"utr": null,47"mode": "NEFT",48"reference_id": "Acme Transaction ID 12345",49"narration": "Acme Corp Fund Transfer",50"batch_id": null,51"failure_reason": null,52"created_at": 1581499319,53"fee_type": "",54"error": {55"description": null,56"source": null,57"reason": null58}59}
Request Parameters
account_number
*
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 customer identifier if you want money to be deducted from RazorpayX Lite.
- 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. Log in to your and go to My Account & Settings → Banking → Customer Identifier.
- This value is different for Test Mode and Live Mode.
amount
*
integer
The payout amount, in paise. For example, if you want to transfer ₹10000, pass 1000000
. Minimum value is 100
.
currency
*
string
The payout currency. Here, it is INR
.
mode
*
string
The mode to be used to create the payout. Available modes:
NEFT
RTGS
IMPS
UPI
card
The payout modes are case-sensitive. When creating payouts using APIs, ensure payout modes are entered in upper case.
purpose
*
string
The purpose of the payout that is being created. The following classifications are available in the system by default:
refund
cashback
payout
salary
utility bill
vendor bill
Additional purposes for payouts can be created via the
and then used in the API. However, it is not possible to create a new purpose for the payout via the API.queue_if_low_balance
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.
fund_account
*
object
The account to which you want to make the payout.
Show child parameters (3)
reference_id
string
Maximum length is 40 characters. A user-generated reference given to the payout. For example, Acme Transaction ID 12345
. You can use this field to store your own transaction ID, if any.
narration
string
Maximum length 30 characters. Allowed characters: a-z
, A-Z
, 0-9
and space. 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.
Enter the important text in the first 9 characters as banks truncate the rest as per their standards.
notes
array of objects
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. For example, payout
.
fund_account_id
string
The unique identifier linked to the fund account. For example, fa_00000000000001
.
fund_account
object
The account to which you want to make the payout.
Show child parameters (5)
amount
integer
The payout amount, in paise. For example, if you want to transfer ₹10,000, pass 1000000
. Minimum value 100
.
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 is INR
.
notes
array of objects
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”
.
fees
integer
The fees for the payout. This value is returned only when the payout moves to the processing
state. For example, 5
.
tax
integer
The tax that is applicable for the fee being charged. This value is returned only when the payout moves to the processing
state. For example, 1
.
status
string
The status of the payout. Possible payout states:
queued
pending
(if you have enabled)rejected
(if you have enabled)processing
processed
cancelled
reversed
purpose
string
The purpose of the payout that is being created. The following classifications are available in the system by default:
refund
cashback
payout
salary
utility bill
vendor bill
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
The payout modes are case-sensitive.
reference_id
string
Maximum length is 40 characters. A user-generated reference given to the payout. For example, Acme Transaction ID 12345
. You can use this field to store your own transaction ID, if any.
narration
string
Maximum length 30 characters. Allowed characters: a-z
, A-Z
, 0-9
and space. 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.
Enter the important text in the first 9 characters as banks truncate the rest as per their standards.
batch_id
string
This value is returned 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.
Show child parameters (3)
created_at
integer
Timestamp, in Unix, when the contact was created. For example, 1545320320
.
fee_type
string
Indicates the fee type charged for the payout. Possible value is free_payout
.
Create a Payout Without Saving Card
POST
/v1/payouts
Click to copy
Watch Out!
Payout APIs are not available in Malaysia.
Use this endpoint to create a payout to fund account type card
without saving the card.
To understand the status of the payouts, refer to
.Watch Out!
Is this page helpful?
Request Parameters
account_number
*
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 customer identifier if you want money to be deducted from RazorpayX Lite.
- 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. Log in to your and go to My Account & Settings → Banking → Customer Identifier.
- This value is different for Test Mode and Live Mode.
amount
*
integer
The payout amount, in paise. For example, if you want to transfer ₹10000, pass 1000000
. Minimum value is 100
.
currency
*
string
The payout currency. Here, it is INR
.
mode
*
string
The mode to be used to create the payout. Available modes:
NEFT
RTGS
IMPS
UPI
card
The payout modes are case-sensitive. When creating payouts using APIs, ensure payout modes are entered in upper case.
purpose
*
string
The purpose of the payout that is being created. The following classifications are available in the system by default:
refund
cashback
payout
salary
utility bill
vendor bill
Additional purposes for payouts can be created via the
and then used in the API. However, it is not possible to create a new purpose for the payout via the API.queue_if_low_balance
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.
fund_account
*
object
The account to which you want to make the payout.
Show child parameters (3)
reference_id
string
Maximum length is 40 characters. A user-generated reference given to the payout. For example, Acme Transaction ID 12345
. You can use this field to store your own transaction ID, if any.
narration
string
Maximum length 30 characters. Allowed characters: a-z
, A-Z
, 0-9
and space. 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.
Enter the important text in the first 9 characters as banks truncate the rest as per their standards.
notes
array of objects
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. For example, payout
.
fund_account_id
string
The unique identifier linked to the fund account. For example, fa_00000000000001
.
fund_account
object
The account to which you want to make the payout.
Show child parameters (5)
amount
integer
The payout amount, in paise. For example, if you want to transfer ₹10,000, pass 1000000
. Minimum value 100
.
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 is INR
.
notes
array of objects
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”
.
fees
integer
The fees for the payout. This value is returned only when the payout moves to the processing
state. For example, 5
.
tax
integer
The tax that is applicable for the fee being charged. This value is returned only when the payout moves to the processing
state. For example, 1
.
status
string
The status of the payout. Possible payout states:
queued
pending
(if you have enabled)rejected
(if you have enabled)processing
processed
cancelled
reversed
purpose
string
The purpose of the payout that is being created. The following classifications are available in the system by default:
refund
cashback
payout
salary
utility bill
vendor bill
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
The payout modes are case-sensitive.
reference_id
string
Maximum length is 40 characters. A user-generated reference given to the payout. For example, Acme Transaction ID 12345
. You can use this field to store your own transaction ID, if any.
narration
string
Maximum length 30 characters. Allowed characters: a-z
, A-Z
, 0-9
and space. 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.
Enter the important text in the first 9 characters as banks truncate the rest as per their standards.
batch_id
string
This value is returned 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.
Show child parameters (3)
created_at
integer
Timestamp, in Unix, when the contact was created. For example, 1545320320
.
fee_type
string
Indicates the fee type charged for the payout. Possible value is free_payout
.
1curl -u <YOUR_KEY>:<YOUR_SECRET> \2-X POST https://api.razorpay.com/v1/payouts \3-H "Content-Type: application/json" \4-H "X-Payout-Idempotency: 53cda91c-8f81-4e77-bbb9-7388f4ac6bf4" \5-d '{6"account_number": "7878780080316316",7"amount": 1000000,8"currency": "INR",9"mode": "NEFT",10"purpose": "refund",11"fund_account": {12"account_type": "card",13"card": {14"number": "765432123456789",15"name": "Gaurav Kumar",16"input_type": "card"17},18"contact": {19"email": "gaurav.kumar@example.com",20"contact": "9876543210",21"type": "employee",22"reference_id": "Acme Contact ID 12345",23"notes": {24"notes_key_1": "Tea, Earl Grey, Hot",25"notes_key_2": "Tea, Earl Grey… decaf."26}27}28},29"queue_if_low_balance": true,30"reference_id": "Acme Transaction ID 12345",31"narration": "Acme Corp Fund Transfer",32"notes": {33"notes_key_1": "Beam me up Scotty",34"notes_key_2": "Engage"35}36}'
Success
1{2"id": "pout_00000000000001",3"entity": "payout",4"fund_account_id": "fa_00000000000001",5"fund_account": {6"id": "fa_00000000000001",7"entity": "fund_account",8"contact_id": "cont_00000000000001",9"contact": {10"id": "cont_00000000000001",11"entity": "contact",12"contact": "9876543210",13"email": "gaurav.kumar@example.com",14"type": "employee",15"reference_id": "Acme Contact ID 12345",16"batch_id": null,17"active": true,18"notes": {19"notes_key_1": "Tea, Earl Grey, Hot",20"notes_key_2": "Tea, Earl Grey… decaf."21},22"created_at": 158081735323},24"account_type": "card",25"card": {26"last4": "6789",27"network": "Visa",28"type": "credit",29"issuer": "HDFC",30"input_type": "card"31},32"batch_id": null,33"active": true,34"created_at": 158108027235},36"amount": 1000000,37"currency": "INR",38"notes": {39"notes_key_1": "Beam me up Scotty",40"notes_key_2": "Engage"41},42"fees": 590,43"tax": 90,44"status": "processed",45"purpose": "payout",46"utr": null,47"mode": "NEFT",48"reference_id": "Acme Transaction ID 12345",49"narration": "Acme Corp Fund Transfer",50"batch_id": null,51"failure_reason": null,52"created_at": 1581499319,53"fee_type": "",54"error": {55"description": null,56"source": null,57"reason": null58}59}