Subscribe to Webhooks

Subscribe to various Webhook events related to RazorpayX to receive instant notifications.

Webhooks (Web Callback, HTTP Push API or Reverse API) are one of the ways in which one web application can send information to another application in real-time when a specific event happens. Know more about


You must first

as per your requirement.

Then you must

as a best practice.

Explore the events occuring in Webhooks for RazorpayX.

Take payouts in RazorpayX as an example. For payouts, you should receive webhooks in the following order:

  1. payout.pending (if you have enabled on your account)
  2. payout.queued (in case your )
  3. payout.initiated
  4. payout.processed or payout.reversed

The above order may not be followed at all times. Please keep this in mind and configure your webhook URL to handle such scenarios.

The processed and reversed states are the last states for a payout. Their corresponding webhooks payout.processed or payout.reversed indicate this state change. Any webhook received after these should be ignored.

The table below lists the webhook events available for RazorpayX Payouts. You can enable webhooks for payout statuses listed in


Webhook EventApplicable ForDescription
payout.pendingall payoutsTriggered whenever a payout moves to the pending state. The payout remains in this state till you approve or reject it.
payout.rejectedall payoutsTriggered whenever a payout moves to the rejected state. The payout was rejected by someone from your team.
payout.queuedall payouts
  • Triggered whenever a payout moves to the queued state. Payout goes to queued state when you do not have sufficient funds to process it or when the beneficiary bank/NPCI/partner bank is down. This event is applicable only for RazorpayX Lite.
  • You will receive the reason for the payout to be in the queued state as part of the status_details object.
payout.initiatedall payoutsTriggered when the payout moves to the processing state when the payout is created or from the queued state when sufficient funds are available to process the payout.
payout.processedall payoutsTriggered when a payout moves to the processed state. This happens when the payout is processed by the contact's bank.
payout.updatedall payoutsTriggered whenever there is a change in the payout entity. For example, when we receive the UTR for the payout from the bank.
  • For NEFT transactions, this webhook is fired within 90 seconds.
  • For IMPS and UPI transactions, this webhook is generally fired immediately.
payout.reversedall payoutsTriggered whenever a payout fails and the amount is returned to your business account.
payout.failedall payoutsTriggered when a payout is failed because the beneficiary bank OR NPCI OR processing partner bank is down. If the beneficiary bank/partner banks/NPCI does not recover within the stipulated SLA, a FAILED event will be sent with the respective reason.
Handy Tips
It is mandatory to subscribe to the payout.failed event if you are using RazorpayX APIs.
payout.downtime.startedall payoutsTriggered when a payout downtime starts. Do not initiate a payout if this is triggered since the beneficiary bank is down and the payout will fail.
payout.downtime.resolvedall payoutsTriggered when a payout downtime is resolved. Make payouts once this webhook is triggered as it indicates that the beneficiary bank downtime is resolved.

Check the


The table below lists the webhook events available for


Webhook EventsDescription
transaction.createdTriggered whenever you:
  • Make a Payout (RazorpayX Lite or current account).
  • Add funds to your RazorpayX account (RazorpayX Lite or current account).
  • Perform any kind of transaction (ATM transaction, cash withdrawal, netbanking transfer, encashed cheque) on your current account.

Check the


Was this page helpful?