Payout Payloads🔗
The payload remains the same irrespective of the fund_account_type to which payout was made. That is, the payload is the same whether the payout was made to a bank account, vpa or card.
payout.pendingall payouts- Triggered whenever a payout moves to the
pendingstate. The payout remains in this state till you approve or reject it. payout.rejectedall payouts- Triggered whenever a payout moves to the
rejectedstate. The payout was rejected by someone from your team. payout.queuedall payouts- Triggered whenever a payout moves to the
queuedstate. A payout goes to thequeuedstate 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 thependingstate. payout.initiatedall payouts- Triggered when the payout moves to the
processingstate when the payout is created or from thequeuedstate when sufficient funds are available to process the payout. payout.processedall payouts- Triggered when a payout moves to the
processedstate. This happens when the payout is processed by the contact's bank. payout.updatedall 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.
payout.reversedall payouts- Triggered whenever a payout fails and the amount is returned to your business account.
payout.failedcurrent 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🔗
Ideally, you should receive webhooks in the following order:
- payout.pending (if you have Approval Workflow enabled on your account)
- payout.queued (in case your business account does not have sufficient balance to process the payout)
- payout.initiated
- payout.processed or payout.reversed
However, this is not guaranteed. 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 terminal states for a payout. Their corresponding webhooks payout.processed or payout.reversed indicate this state change. Any webhook received after these should be ignored.