Instant Settlements

Check Razorpay Capital Instant Settlement APIs ( On-demand Settlement APIs).


Handy Tips

This section has information on APIs used as part of Razorpay Capital.

With

(earlier known as On-demand Settlement APIs), you get access to your funds as and when you want.

Normally, you would receive settlements according to your

. Razorpay Instant Settlements helps to reduce your settlement period from T+2 days (default settlement cycle) to a few minutes (from the time of the transaction), thus enabling your business to avoid cash-flow challenges and prepare better for working capital requirements.

Feature Request

  • This is an on-demand feature. Please raise a request with our to get this feature activated on your Razorpay account.
  • Watch this video to know how to raise a feature enablement request on the Razorpay Dashboard.
Feature Request GIF

You can try out our APIs on the Razorpay Postman Public Workspace.

The Instant Settlement entity has the following fields:

id

string The unique identifier of the instant settlement transaction. For example, setlod_FNj7g2YS5J67Rz.

entity

string Indicates the type of entity. Here it is settlement.ondemand.

amount_requested

integer The settlement amount, in paise, requested by you. For example, 200000.

amount_settled

integer Total amount (minus fees and tax), in paise, settled to the bank account. For example, 199410.

amount_pending

integer Portion of the requested amount, in paise, yet to be settled to you.

amount_reversed

integer Portion of the requested amount, in paise, that was not settled to you. This amount is reversed to your PG current balance.

fees

integer Total amount (fees+tax), in paise, deducted for the instant settlement. For example, 590.

tax

integer Total tax, in paise, charged for the fee component. For example, 90.

currency

string The 3-letter ISO currency code for the settlement. Here it is INR.

settle_full_balance

boolean Possible values:

  • true: Razorpay will settle the maximum amount possible. Values passed in the amount parameter are ignored.
  • false (default): Razorpay will settle the amount requested in the amount parameter.

status

string Indicates the state of the instant settlement. Possible values:

  • created: The instant settlement request has been created.
  • initiated: The instant settlement process has been initiated.
  • partially_processed: The instant settlement is being processed.
  • processed: The instant settlement has been processed and the amount has been transferred to your bank account.
  • reversed: The instant settlement could not be processed for some reason and the amount has been transferred back to your PG balance.

description

string This is a custom note you can pass for the instant settlement for your reference. For example, Need this to make vendor payments..

notes

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”.

created_at

integer Unix timestamp at which the instant settlement was created. For example, 1596771429.

ondemand_payouts

object List of payouts created for the instant settlement.

entity

string Indicates the type of ondemand_payouts entity. Here it is collection.

count

integer The number of items in the array. For example, 1.

items

array List of payouts created for the instant settlement.

id

string The unique identifier for the payout. For example, setlodp_FNj7g2cbvw8ueO.

entity

string Indicates the type of items entity. Here it is settlement.ondemand_payout.

initiated_at

integer Unix timestamp at which the payout was initiated. For example, 1596771430.

processed_at

integer Unix timestamp at which the payout was processed. For example, 1596778752.

reversed_at

integer Unix timestamp at which the payout was reversed. For example, 1596778752.

amount

integer The amount, in paise, settled through this payout. For example, 200000.

amount_settled

integer Amount (minus fees and tax), in paise, settled through this payout. For example, 199410.

fees

integer Amount (fees+tax), in paise, deducted for this payout. For example, 590.

tax

integer Tax charged, in paise, for the fee component. For example, 90.

utr

string The unique transaction number linked to a payout.

status

string Status of the payout. Possible values:

  • created: The payout has been created.
  • initiated: The payout has been initiated.
  • processed: The payout has been processed. The amount has been transferred to your bank account.
  • reversed: The payout has been reversed. The amount has been transferred back to your PG balance.

created_at

integer Unix timestamp at which the payout was created.

You can manage Instant Settlements using APIs or from the

.

The following endpoint creates an Instant Settlement.

POST
/settlements/ondemand

amount

mandatory

integer The amount, in paise, you want settled to your account.

settle_full_balance

optional

boolean Possible values:

  • true: Razorpay will settle the maximum amount possible. Values passed in the amount parameter are ignored.
  • false (default value): Razorpay will settle the amount requested in the amount parameter.

description

optional

string This is a custom note you can pass for the instant settlement for your reference. For example, Need this to make vendor payments..

  • Maximum length: 30 characters.
  • Allowed characters: a-z, A-Z, 0-9 and space.

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, Beam me up Scotty.

Descriptions for the response parameters are present in the

parameters table.

Given below is a list of possible errors you may face while creating an instant settlement.

ErrorCauseSolution
The API {key/secret} provided is invalid.The API credentials passed in the API call differ from the ones generated on the Dashboard.The API keys must be active and entered correctly with no whitespace before or after.
Minimum amount that can be settled is ₹ 1.The amount entered is less than ₹1.Ensure that the amount to be settled is greater than ₹1.
Payout amount including fees should be greater than Re 1.The amount entered is ₹1.Ensure that the amount to be settled is greater than ₹1.

The following endpoint retrieves the details of all Instant Settlements.

GET
/settlements/ondemand

Use the expand[]=ondemand_payouts query parameter to fetch payout details as part of the response.

expand[]=ondemand_payouts

optional

string Pass this if you want to fetch payout details as part of the response.

from

optional

integer Unix timestamp (in seconds) from when instant settlements are to be retrieved.

to

optional

integer Unix timestamp (in seconds) till when instant settlements are to be retrieved.

count

optional

integer Number of instant settlement records to be retrieved.

  • Default value: 10.
  • Possible values: 1 to 100.
  • This can be used for pagination, in combination with skip.

skip

optional

integer Number of instant settlement records to be skipped.

  • Default value: 0.
  • This can be used for pagination, in combination with count.

Descriptions for the response parameters are present in the

parameters table.

Given below is a possible error you may face while fetching all instant settlements.

ErrorCauseSolution
The API {key/secret} provided is invalid.The API credentials passed in the API call differ from the ones generated on the Dashboard.The API keys must be active and entered correctly with no whitespace before or after.

The following endpoint retrieves the details of a particular Instant Settlement.

GET
/settlements/ondemand/:setlod_id

Use the expand[]=ondemand_payouts query parameter to fetch payout details as part of the response.

setlod_id

mandatory

string The unique identifier for the instant settlement transaction. For example, setlod_FNj7g2YS5J67Rz.

expand[]=ondemand_payouts

optional

string Pass this if you want to fetch payout details as part of the response.

Descriptions for the response parameters are present in the

parameters table.

Given below is a list of possible errors you may face while fetching an instant settlement by id.

ErrorCauseSolution
The API {key/secret} provided is invalid.The API credentials passed in the API call differ from the ones generated on the Dashboard.The API keys must be active and entered correctly with no whitespace before or after.
The id provided does not existThe settlement id does not belong to the requestor or does not exist.Use a valid settlement id that belongs to the requestor.

Was this page helpful?