Skip to main content
Webhooks are HTTP callbacks that Cashfree Payments sends to your server when specific events occur in your payout transactions. They provide real-time notifications about transfer status changes, enabling you to automate your business processes and keep your systems synchronised with transaction updates. Version 2 webhooks offer enhanced reliability, improved payload structure, and additional event types compared to the previous version. They’re essential for maintaining accurate transaction records and providing timely updates to your end users about their transfer status. For seamless integration and security in handling your transactions, refer to the following essential guidelines:

Add a webhook

Follow the instructions below to configure webhooks for version 2 APIs:
  1. Log in to the Merchant Dashboard.
  2. Select Payouts.
  3. Navigate to Developers > Webhooks.
  4. Click Add Webhook URL on the Webhooks page.
  1. 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.
  1. 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.

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 events TRANSFER_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

Yes, you can subscribe to Webhooks V2 even if you’re currently using Payout APIs v1 and v1.2.
Yes, you can typically subscribe to Webhooks V1 even if you’re using Payout APIs V2.
No.
This is a validation event, not a real low-balance alert.
When you configure a Payouts webhook endpoint and select Test & Add Webhook, Cashfree sends a test 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.