Webhooks are event-based notifications that are received when a specific event related to the Wallet occurs.Documentation Index
Fetch the complete documentation index at: https://www.cashfree.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
Webhook signature
You will receive the webhook signature in the webhook header. Here is a sample header from a webhook request.| Header name | Header value |
|---|---|
| content-length | 1099 |
| x-webhook-attempt | 1 |
| content-type | application/json |
| x-webhook-signature | 07r5C3VMwsGYeldGOCYxe5zoHhIN1zLfa8O0U/yngHI= |
| x-webhook-timestamp | 1746427759733 |
| x-webhook-version | 2025-01-01 |
Wallet Credit events
The following are examples of webhook events that you may receive.Wallet Transfer events
The following are examples of transfer webhook events that you may receive for different transfer statuses.Wallet Credit webhook payload fields
The webhook payload contains important metadata in its top-level fields.| Field | Type | Description |
|---|---|---|
event_type | string | Indicates the type of event that triggered the webhook. |
event_time | string | The UTC timestamp of when the event occurred, formatted in ISO 8601 (YYYY-MM-DDTHH:MM:SSZ). |
data | object | Contains event-specific details related to this feature. |
Wallet Transfer webhook payload fields
Transfer webhook events contain additional fields specific to transfer operations:| Field | Type | Description |
|---|---|---|
event_type | string | Type of transfer event: PPI_TRANSFER_SUCCESS, PPI_TRANSFER_FAILED, PPI_TRANSFER_REVERSED, or PPI_TRANSFER_REJECTED |
event_time | string | The UTC timestamp when the event occurred, in ISO 8601 format |
data | object | Transfer-specific event details |
data.user_id | string | Identifier of the user who initiated the transfer |
data.wallet_id | string | Identifier of the wallet from which the transfer was made |
data.transfer_id | string | Your unique identifier for the transfer transaction |
data.cf_transfer_id | string | Cashfree’s unique identifier for the transfer transaction |
data.amount | number | Transfer amount |
data.transfer_mode | string | Transfer mode used: RTGS, NEFT, IMPS, or UPI |
data.sub_wallet | object | Details of the sub-wallet from which funds were transferred |
data.status | string | Final status of the transfer: SUCCESS, FAILED, REVERSED, or REJECTED |
data.status_code | string | Status code for detailed tracking: COMPLETED, INVALID_ACCOUNT_FAIL, REVERSED, or REJECTED |
data.bank_ref_no | string | Bank reference number for the transaction (null if transfer failed before processing) |
data.bene_details | object | Beneficiary details including instrument information |
data.purpose | string | Purpose of the transfer |
data.remarks | string | Additional remarks for the transfer |
data.notes | object | Custom key-value pairs provided during transfer creation |
data.initiated_at | string | Timestamp when the transfer was initiated |
data.processed_at | string | Timestamp when the transfer was completed/failed |
Verifying the signature is mandatory before processing any response. Refer to Signature Verification for more details.