In this article, you will find information on webhook V2 events and the sample payload associated to each event type.
For seamless integration and security in handling your transactions, refer to the following essential guidelines:
Follow the instructions below to configure webhooks for version 2 APIs:
Webhook Version: V2
You will receive V2 webhooks only if you select the option as described and configure the respective URL.
These code snippets provide functionality to verify the authenticity of webhook requests and to parse the payload data. It ensures that incoming webhook requests are from a trusted source by checking their signature and then processes the request data.
PayoutWebhookEvent
This represents the structure of a webhook event:
Field | Description |
---|---|
Type | It is the type of the event. |
Raw | The raw JSON body of the webhook request. |
Object | The parsed JSON object from the raw body |
PayoutVerifyWebhookSignature
This function is used to verify the signature of a webhook request and parse the data. The parameters are as follows:
Field | Description |
---|---|
signature | The HMAC signature provided in the header information of the webhook. |
rawBody | The raw JSON body of the request in the string form. |
timestamp | The timestamp provided in the header information of the webhook. |
Cashfree
Class
This class provides the method for verifying webhook signatures:
Field | Description |
---|---|
XClientSecret | Secret key |
XAPIVersion | It is the API version: 2024-01-01 |
Payouts webhooks enable you to receive updates about all event-driven activities originating from your account. Below is the list of payouts webhooks:
Events | Notifications |
---|---|
TRANSFER_ACKNOWLEDGED | You will receive this event when the transfer is successful and the amount is debited from the account. |
TRANSFER_SUCCESS | You will receive this event when the transferred amount is deposited into the beneficiary bank account. |
TRANSFER_FAILED | You will receive this event when the transfer attempt is a failure. |
TRANSFER_REVERSED | You will receive this event when the beneficiary bank reversed the transfer request. |
TRANSFER_REJECTED | You will receive this event when Cashfree Payments rejected the transfer request. |
BULK_TRANSFER_REJECTED | You will receive this event when one of the transfers or all the transfers in the batch transfer request is rejected. |
Find the parameters and their description for the events TRANSFER_SUCCESS, TRANSFER_FAILED, TRANSFER_REVERSED, and TRANSFER_REJECTED below:
Parameter | description |
---|---|
transfer_id | It displays the unique ID you created to identify the transfer request. |
cf_transfer_id | It displays the unique ID created by Cashfree Payments for reference purpose. |
status | It displays the status of the transfer. |
status_code | It displays the specific status of the transfer. |
status_description | It displays the detailed explanation of the transfer status. |
beneficiary_details | It contains information about the beneficiary. |
beneficiary_id | It displays the unique ID to identify the beneficiary. |
beneficiary_instrument_details | It contains the account information of the beneficiary. |
bank_account_number | It displays the bank account number of the beneficiary. |
bank_ifsc | It displays the IFSC information of the bank. |
transfer_amount | It displays the transfer amount. |
transfer_service_charge | It displays the service charge applied for the transfer amount. |
transfer_service_tax | It displays the taxable amount for the service charge. |
transfer_mode | It displays the transfer mode. |
transfer_utr | It displays the unique transaction reference number. |
fundsource_id | It displays the unique ID to identify the fund source. |
added_on | It displays the date and time of the addition. |
updated_on | It displays the date and time of the updation. |
event_time | It displays the date and time of the webhook event initiation. |
type | It displays the event type. |
Find the parameters and their description for the event BULK_TRANSFER_REJECTED below:
Parameter | Description |
---|---|
batch_transfer_id | It displays the unique ID you created to identify the batch transfer request. |
cf_batch_transfer_id | It displays the unique ID created by Cashfree Payments for reference purpose. |
status | It displays the status of the batch transfer request. |
event_time | It displays the date and time of the webhook event initiation. |
type | It displays the event type. |
Cashfree Payments webhooks service does its best to deliver events to your webhook endpoint. It is 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 gets ignored. Any response code outside the 200 range, including 3xx codes, indicates that you did not receive the webhook.
When Cashfree Payments does not get the acknowledgement due to any reason, we retry to establish the communication at regular intervals. If we do not receive the response after few attempts, we gradually decrease the rate of retries. Based on this count, the service is disabled if it fails more than five times.
If do not receive notifications from Cashfree Payments as expected, please fill out the Support Form.
When you decide to consume the webhooks, first, you need to verify if your systems need an IP whitelisting to be done at your end or not. Accordingly you can whitelist the below IPs of Cashfree:
UAT |
---|
52.66.25.127 |
15.206.45.168 |
Prod |
---|
52.66.101.190 |
3.109.102.144 |
3.111.60.173 |
18.60.134.245 |
18.60.183.142 |
Port |
---|
443 (secured) |