API Test Keys

Cancel a Queued Payout

POST
/v1/payouts/:id/cancel

Click to copy

Watch Out!

Payout APIs are not available in Malaysia.

Use this endpoint to cancel a queued payout, without saving the details. You can only cancel payouts that are in the queued state. It is not possible to cancel payouts that have any other status.

To understand the status of the payouts, refer to

.

Is this page helpful?

Curl

1
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \
2
-X POST https://api.razorpay.com/v1/payouts/pout_00000000000001/cancel \

Success

1
{
2
"id": "pout_00000000000001",
3
"entity": "payout",
4
"fund_account_id": "fa_00000000000001",
5
"amount": 1000000,
6
"currency": "INR",
7
"notes": {
8
"notes_key_1": "Tea, Earl Grey, Hot",
9
"notes_key_2": "Tea, Earl Grey… decaf."
10
},
11
"fees": 0,
12
"tax": 0,
13
"status": "failed",
14
"utr": "null",
15
"mode": "NEFT",
16
"purpose": "refund",
17
"reference_id": "Acme Transaction ID 12345",
18
"narration": "Acme Corp Fund Transfer",
19
"batch_id": null,
20
"status_details": {
21
"description": "The NEFT 24*7 limits for your account has been exhausted. Please retry after some time",
22
"source": "business",
23
"reason": "amount_limit_exhausted"
24
}
25
"created_at": 1545383037,
26
"fee_type": "free_payout"
27
}
Path Parameters
id

*

string

This is the unique identifier linked to the payout. For example, pout_00000000000001.

Response Parameters
id
string

The unique identifier of the payout. For example, pout_00000000000001.

entity
string

The entity being created. Here, it will be payout.

fund_account_id
string

The unique identifier linked to the fund account. For example, fa_00000000000001.

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's 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:

Know more about

and .

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
  • card

The payout modes are case-sensitive.

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.

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

Custom note that also appears on the bank statement. Maximum length 30 characters. Allowed characters: a-z, A-Z, 0-9 and space.

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.

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

Indicates the Unix timestamp when this payout was created.

fee_type
string

Indicates the fee type charged for the payout. Possible values is free_payout.

Cancel a Queued Payout

POST
/v1/payouts/:id/cancel

Click to copy

Watch Out!

Payout APIs are not available in Malaysia.

Use this endpoint to cancel a queued payout, without saving the details. You can only cancel payouts that are in the queued state. It is not possible to cancel payouts that have any other status.

To understand the status of the payouts, refer to

.

Is this page helpful?

Path Parameters
id

*

string

This is the unique identifier linked to the payout. For example, pout_00000000000001.

Response Parameters
id
string

The unique identifier of the payout. For example, pout_00000000000001.

entity
string

The entity being created. Here, it will be payout.

fund_account_id
string

The unique identifier linked to the fund account. For example, fa_00000000000001.

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's 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:

Know more about

and .

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
  • card

The payout modes are case-sensitive.

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.

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

Custom note that also appears on the bank statement. Maximum length 30 characters. Allowed characters: a-z, A-Z, 0-9 and space.

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.

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

Indicates the Unix timestamp when this payout was created.

fee_type
string

Indicates the fee type charged for the payout. Possible values is free_payout.

Curl

1
curl -u [YOUR_KEY_ID]:[YOUR_KEY_SECRET] \
2
-X POST https://api.razorpay.com/v1/payouts/pout_00000000000001/cancel \

Success

1
{
2
"id": "pout_00000000000001",
3
"entity": "payout",
4
"fund_account_id": "fa_00000000000001",
5
"amount": 1000000,
6
"currency": "INR",
7
"notes": {
8
"notes_key_1": "Tea, Earl Grey, Hot",
9
"notes_key_2": "Tea, Earl Grey… decaf."
10
},
11
"fees": 0,
12
"tax": 0,
13
"status": "failed",
14
"utr": "null",
15
"mode": "NEFT",
16
"purpose": "refund",
17
"reference_id": "Acme Transaction ID 12345",
18
"narration": "Acme Corp Fund Transfer",
19
"batch_id": null,
20
"status_details": {
21
"description": "The NEFT 24*7 limits for your account has been exhausted. Please retry after some time",
22
"source": "business",
23
"reason": "amount_limit_exhausted"
24
}
25
"created_at": 1545383037,
26
"fee_type": "free_payout"
27
}