Add a webhook
Follow the instructions below to configure webhooks for version 2 APIs:- Log in to the Merchant Dashboard.
- Select Payouts.
- Navigate to Developers > Webhooks.
- Click Add Webhook URL on the Webhooks page.

- In the Add Webhook popup, enter the following information:
- Webhook URL: Enter the URL where you want to receive transfer-related notifications.
- Select a webhook version: Select V2 from the dropdown menu.
Webhook Version: V2: You will receive V2 webhooks only if you select the option as described and configure the respective URL.
- Click Test & Add Webhook.

Webhook signature verification code
These code snippets provide functionality to verify the authenticity of webhook requests and parse the payload data. They ensure that incoming webhook requests are from a trusted source by checking their signature and then processing the request data.Client secret for webhooksignature
Please ensure that the oldest active client secret is used to generate the webhook signature. Using any other client secret will lead to a signature mismatch.
Please ensure that the oldest active client secret is used to generate the webhook signature. Using any other client secret will lead to a signature mismatch.
Components
The webhook signature verification implementation uses the following key components to ensure secure processing of webhook events:PayoutWebhookEvent class
This class represents the structure of a webhook event and contains the following properties:PayoutVerifyWebhookSignature method
This method verifies the signature of a webhook request and parses the data. Use the following parameters when calling this method:Cashfree class
This class provides the method for verifying webhook signatures and includes the following properties:Webhook events
Payouts webhooks enable you to receive updates about all event-driven activities originating from your account. Below is the list of payout webhooks:Sample payload
The following examples show the JSON payload structure for each webhook event type listed above. Each payload contains event-specific data that helps you understand the transfer status and take appropriate action in your application.Parameters
Find the parameters and their descriptions for the eventsTRANSFER_ACKNOWLEDGED, TRANSFER_SUCCESS, TRANSFER_FAILED, TRANSFER_REVERSED, and TRANSFER_REJECTED below:
Find the parameters and their descriptions for the event
BULK_TRANSFER_REJECTED below:
A transfer is considered successful only when both the status is
SUCCESS and the status code is COMPLETED.Webhook retries
Cashfree Payments webhooks service does its best to deliver events to your webhook endpoint. It’s best practice for your application to respond to the callback. Our webhook service may send many payloads to a single endpoint in quick succession. You will need to build an application and configure your server to receive the response we send when events get triggered during the payout process. Your server should return a 200 HTTP status code to acknowledge that you received the webhook without any issues. Any other information you return in the request headers or request body is ignored. Any response code outside the 200 range, including 3xx codes, indicates that you didn’t receive the webhook. When Cashfree Payments doesn’t receive the acknowledgement for any reason, we retry to establish communication at regular intervals. If we don’t receive the response after several attempts, we gradually decrease the rate of retries. Based on this count, the service is disabled if it fails more than five times. If you don’t receive notifications from Cashfree Payments as expected, please fill out the Support Form.IPs to whitelist
When you decide to consume the webhooks, first, you need to verify whether your systems need IP whitelisting to be done at your end or not. Accordingly, you can whitelist the below IPs of Cashfree:FAQs
Can I subscribe to webhooks V2 if I use Payouts APIs as V1 and V1.2?
Can I subscribe to webhooks V2 if I use Payouts APIs as V1 and V1.2?
Yes, you can subscribe to Webhooks V2 even if you’re currently using Payout APIs v1 and v1.2.
Can I utilise webhooks V1 whilst using Payouts APIs V2?
Can I utilise webhooks V1 whilst using Payouts APIs V2?
Yes, you can typically subscribe to Webhooks V1 even if you’re using Payout APIs V2.
I received a LOW_BALANCE_ALERT webhook right after configuring my endpoint. Is this a real alert?
I received a LOW_BALANCE_ALERT webhook right after configuring my endpoint. Is this a real alert?
No.When you configure a Payouts webhook endpoint and select Test & Add Webhook, Cashfree sends a test
This is a validation event, not a real low-balance alert.
LOW_BALANCE_ALERT payload to confirm the endpoint is reachable and returns HTTP 200. Cashfree sends real LOW_BALANCE_ALERT events only when your wallet balance falls below the configured threshold. Ensure your endpoint returns HTTP 200 to all incoming payloads, including test ones. See Payouts webhooks for the full explanation.