API ReferenceIntegrationsKnowledge Base

RazorpayX - Sample Payload

Following is the list of currently available webhook events for RazorpayX.

Payout Payloads🔗

The payload remains the same irrespective of the fund_account_type to which payout was made. That is, the payload is same whether the payout was made to a bank account, vpa or card.

The table below lists the webhook events available for RazorpayX Payouts.

Webhook Event

Applicable For



all payouts

Triggered whenever a payout moves to the pending state. The payout remains in this state till you approve or reject it.


all payouts

Triggered whenever a payout moves to the rejected state. The payout was rejected by someone from your team.


all payouts

Triggered whenever a payout moves to the queued state. A payout goes to the queued state when you do not have sufficient balance to process the payout. This can happen when you create the payout or when you approve a payout in the pending state.


all payouts

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


all payouts

Triggered when a payout moves to the processed state. This happens when the payout is processed by the contact's bank.


all payouts

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


all payouts

Triggered whenever a payout fails and the amount is returned to your business account.


current account payouts

This webhook event is available only when a payout is made using your current account balance. This event is triggered when a payout is failed by our current account partner bank.

Order of Events🔗

For example for payouts, you should receive webhooks in the following order:

  1. payout.pending (if you have Approval Workflow enabled on your account)
  2. payout.queued (in case your business account does not have sufficient balance to process the payout)
  3. payout.initiated
  4. payout.processed or payout.reversed

The above order may not be followed at all times. You should configure your webhook URL to not expect delivery of these events in this order and 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.

Payout Pending🔗

Payout Rejected🔗

Payout Queued🔗

Payout Initiated🔗

Payout Processed🔗

Payout Updated🔗

Payout Reversed🔗

Payout Failed🔗

Transaction Payloads🔗

The table below lists the webhook events available for RazorpayX transactions.

Webhook Events



Triggered whenever you:

  • Make a Payout (virtual account or current account).
  • Add funds to your RazorpayX account (virtual account or current account).
  • Perform any kind of transaction (ATM transaction, cash withdrawal, netbanking transfer, encashed cheque) on your current account.

  • Transaction Created🔗

    Handy Tips
    If you have changed your webhook secret, remember to use the old secret for webhook signature validation while retrying older requests. Using the new secret will lead to signature mismatch.

    Do Not Parse or Cast the Webhook Request Body
    While generating a signature at your end, ensure that the webhook body is passed as an argument in the raw webhook request body. Do not parse or cast the webhook request body.