Settlements

Razorpay Settlement and Instant Settlement (On-demand Settlements) APIs.


Settlement is the process in which the money received from your customers is settled to your bank account. Settlements are made to the bank account, the details of which you submitted to us as a part of KYC verification.

Settlements for all payments are done in INR (Indian Rupees), irrespective of the currency in which the payment was made. After Razorpay receives the amount, it is settled to your bank account, after fees deduction. Know more about settlements.

Settlements APIs🔗

By default, the complete process takes a time of T+2 business days for domestic transactions and T+7 days for international transactions, T being the date of capture of payment.

This is called the settlement cycle. The settlement cycle is subject to bank approval and can vary based on your business vertical, risk factors and so on.

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

Run in Postman

Settlement Entity🔗

id
string Unique identifier of the settlement transaction, for example, setl_7IZKKI4Pnt2kEe
entity
string The name of the entity.
amount
integer The settlement amount in paise. For example, 50000 means ₹500. Settlements are always made in INR.
status
string The status of the settlement. Possible values:
  • created
  • processed
  • failed
fees
integer This is the total fees charged to process all payments received from customers settled to you in this settlement transaction.
tax
integer The total tax, in paise, charged on the fees collected to process all payments received from customers settled to you in this settlement transaction.
utr
string Unique Transaction Reference number available across banks, which can be used to track a particular settlement in your bank account. For example, 1597813219e1pq6w.
created_at
integer Timestamp (in Unix format) when the settlement transaction was created.

Fetch All Settlements🔗

Use the below endpoint to fetch all the settlements:

/settlements/

Query Parameters🔗

from optional
integer Unix timestamp (in seconds) from when settlements are to be fetched.
to optional
integer Unix timestamp (in seconds) till when settlements are to be fetched.
count optional
integer Number of settlement records to be fetched. Default value is 10. Maximum value is 100. This can be used for pagination, in combination with skip.
skip optional
integer Number of settlement records to be skipped. Default value is 0. This can be used for pagination, in combination with count.

Fetch Settlement Using ID🔗

Use the below endpoint to fetch details of a settlement using id:

/settlements/:id

Path Parameter🔗

id mandatory
string Unique identifier of the settlement to be retrieved.

Settlement Recon🔗

The settlement recon API returns a list of all transactions such as payments, refunds, transfers and adjustments that have been settled to you for a particular day or month.

/settlements/recon/combined?year=yyyy&month=mm

In the example request and response, we are fetching the settlement report for 11/09/2019.

Query Parameters🔗

year mandatory
integer The year the settlement was received in the YYYY format. For example, 2020.
month mandatory
integer The month the settlement was received in the MM format. For example, 09.
day optional
integer The date on which the settlement was received in the DD format. For example, 03.
count optional
integer Specifies the number of available settlements to be fetched. Maximum count can be 1000.
skip optional
integer Specifies the number of available settlements to be skipped when fetching a count.

Response Parameters🔗

entity_id

string Unique identifier of the transaction that has been settled.

type

string Indicates the type of transaction. Possible values:

  • payment
  • refund
  • transfer
  • adjustment
debit

integer The amount, in paise, that has been debited from your account.

credit

integer The amount, in paise, that has been credited to your account.

amount

integer The total amount, in paise, debited or credited from your account.

currency

string The 3-letter ISO currency code for the transaction.

fee

integer The fees, in paise, charged to processing the transaction.

tax

integer The tax on the fee, in paise, charged to processing the transaction.

on_hold

boolean Indicates whether the account settlement for transfer is on hold. Possible values:

  • true
  • false
settled

boolean Indicates whether the transaction has been settled or not. Possible values:

  • true
  • false
created_at

integer Timestamp (in Unix) at which the transaction was created.

settled_at

integer Timestamp (in Unix) when the transaction was settled.

settlement_id

string Unique identifier of the settlement transaction.

description

string Brief description about the transaction. For example, Invoice #inv_DEWHZlfIcdVIXL".

notes

object Notes for the transaction. For example. {\"comment\":\"Partial\"}.

payment_id

string Unique identifier of the payment linked to refund or transfer that has been settled. For example, pay_DEApNNTR6xmqJy. It is null for payments.

settlement_utr

string Unique reference number linked to the settlement. For example, KKBKH14156891582.

order_id

string Order ID linked to the payment made by the customer that has been settled. For example, order_DEXrnRiR3SNDHA.

order_receipt

string Receipt number entered while creating the Order.

method

string The payment method used to complete the payment. Possible values:

  • card
  • netbanking
  • wallet
  • emi
  • upi
card_network

string The card network used to process the payment. Possible values are:

  • American Express
  • Diners Club
  • Maestro
  • MasterCard
  • RuPay
  • Visa
  • unknown
card_issuer

string The card issuer. 4-character code denoting the issuing bank. For example, KARB.

This attribute will not be set for international cards, that is, for cards issued by foreign banks.

card_type

string The card type used to process the payment. Possible values:

  • credit
  • debit
dispute_id

string Unique identifier of any dispute that might have arisen for this transaction.

×