> ## 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.

# Events by Product

> Summary of Cashfree webhook events by product area. Open each accordion for quick reference, then use the linked product docs for versioned payloads.

This page is a consolidated index of webhook events across all Cashfree products. Expand a product section to see available events and their descriptions. Event names and JSON field shapes depend on the API version and webhook version. Always confirm field names and enum values on the linked product page before you build parsers.

<Note>
  Payment Gateway events span multiple categories: payments, refunds, subscriptions, settlements, disputes, and more. The table below shows a summary; for the complete catalogue of event names, versioned payloads, and category-level guides, see the [Payment Gateway webhooks hub](/docs/payments/webhooks).
</Note>

<AccordionGroup>
  <Accordion title="Payment Gateway">
    Cashfree sends Payment Gateway webhooks across the full payment lifecycle, including individual payments, refunds, subscriptions, payment links, tokenised instruments, settlements, and disputes. The event catalogue is extensive and versioned.

    The following table shows the primary event categories. For the complete list of event names, versioned payloads, and category-level guides, use the [Payment Gateway webhooks hub](/docs/payments/webhooks).

    | Category     | Example events                                                           |
    | ------------ | ------------------------------------------------------------------------ |
    | Payment      | `PAYMENT_SUCCESS`, `PAYMENT_FAILED`, `PAYMENT_USER_DROPPED`              |
    | Refund       | `REFUND_STATUS_WEBHOOK`                                                  |
    | Settlement   | `SETTLEMENT_STATUS_WEBHOOK`                                              |
    | Subscription | `SUBSCRIPTION_CREATED`, `SUBSCRIPTION_CHARGED`, `SUBSCRIPTION_CANCELLED` |
    | Payment Link | `PAYMENT_LINK_EVENT`                                                     |
    | Token Vault  | `TOKEN_STATUS_WEBHOOK`                                                   |
  </Accordion>

  <Accordion title="Payouts V2 (recommended)">
    Payouts V2 webhooks use JSON bodies and header-based signatures. They cover the transfer lifecycle, beneficiary incidents, and account balance signals. For full payload schemas and configuration steps, see [Payouts Webhooks V2](/docs/api-reference/payouts/v2/webhooks/webhooks-v2).

    | Event                    | Description                                                                                                                           |
    | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- |
    | `TRANSFER_ACKNOWLEDGED`  | The transfer completes end-to-end. Your account is debited and the beneficiary bank credits the end user.                             |
    | `TRANSFER_SUCCESS`       | The transfer is debited from your account and sent to the beneficiary bank. Confirmation at the beneficiary end may still be pending. |
    | `TRANSFER_FAILED`        | The transfer attempt fails.                                                                                                           |
    | `TRANSFER_REVERSED`      | The beneficiary bank reverses the transfer.                                                                                           |
    | `TRANSFER_REJECTED`      | Cashfree rejects the transfer request.                                                                                                |
    | `BULK_TRANSFER_REJECTED` | One or more transfers in a batch request are rejected.                                                                                |
    | `BENEFICIARY_INCIDENT`   | A service disruption or incident affects a beneficiary bank or payment mode.                                                          |
    | `CREDIT_CONFIRMATION`    | Funds are credited to your account balance.                                                                                           |
    | `LOW_BALANCE_ALERT`      | Your account balance falls below a configured threshold.                                                                              |

    <Warning>
      Treat a payout as fully successful for reconciliation only when both `status` is `SUCCESS` and `status_code` is `COMPLETED`. Do not rely on `status` alone.
    </Warning>
  </Accordion>

  <Accordion title="Payouts V1 (Cashgram)">
    Cashgram webhooks cover link redemption, transfer reversals, and link expiry. For delivery format and verification steps, see [Cashgram webhooks](/docs/payouts/cashgram/integration/webhooks).

    | Event                        | Description                                                                   |
    | ---------------------------- | ----------------------------------------------------------------------------- |
    | `CASHGRAM_REDEEMED`          | The customer redeems the Cashgram link.                                       |
    | `CASHGRAM_TRANSFER_REVERSAL` | The bank reverses a Cashgram transfer.                                        |
    | `CASHGRAM_EXPIRED`           | The link expires, reaches the maximum retry limit, or OTP verification fails. |

    <Note>
      You can subscribe to Payouts V2 webhooks even if some transfers still use the V1 or V1.2 APIs. Webhook version and REST API version are configured independently in the Merchant Dashboard.
    </Note>
  </Accordion>

  <Accordion title="Secure ID (Video KYC)">
    Video KYC webhooks track each stage of the KYC session, from link generation through auditor review. For full payload schemas, see [Video KYC webhooks](/docs/api-reference/vrs/v2/video-kyc/webhook).

    | Event                           | Description                                 |
    | ------------------------------- | ------------------------------------------- |
    | `VKYC_USER_LINK_GENERATED`      | A Video KYC link is generated for the user. |
    | `VKYC_USER_LINK_EXPIRED`        | The Video KYC link expires.                 |
    | `VKYC_USER_AADHAAR_VERIFIED`    | Aadhaar verification succeeds.              |
    | `VKYC_USER_CALL_SCHEDULED`      | The Video KYC call is scheduled.            |
    | `VKYC_USER_PRECHECK_FAILED`     | Pre-verification checks fail.               |
    | `VKYC_USER_CALL_QUEUED`         | The user is waiting in the agent queue.     |
    | `VKYC_USER_CALL_STARTED`        | The Video KYC call starts with an agent.    |
    | `VKYC_USER_DROPOFF_FROM_CALL`   | The user leaves the call before completion. |
    | `VKYC_USER_CALL_COMPLETED`      | The Video KYC call completes successfully.  |
    | `VKYC_AUDITOR_REVIEW_COMPLETED` | An auditor approves or rejects the session. |

    <Note>
      For `VKYC_USER_PRECHECK_FAILED` and `VKYC_USER_CALL_SCHEDULED`, multiple `sub_status` values are possible. See the [Video KYC status and sub-status mapping](/docs/api-reference/vrs/v2/video-kyc/vkyc-descriptions#status-substatus-mapping).
    </Note>
  </Accordion>

  <Accordion title="Secure ID: Bank account verification (BAV V2)">
    BAV V2 webhooks notify you of the outcome of an asynchronous bank account verification request. For full payload schemas, see [Bank account verification webhooks](/docs/api-reference/vrs/v2/bav-v2/webhooks-bank-account-verification).

    | Event                                | Description                            |
    | ------------------------------------ | -------------------------------------- |
    | `BANK_ACCOUNT_VERIFICATION_SUCCESS`  | Bank account verification succeeds.    |
    | `BANK_ACCOUNT_VERIFICATION_REJECTED` | Bank account verification is rejected. |
    | `BANK_ACCOUNT_VERIFICATION_FAILED`   | Bank account verification fails.       |
  </Accordion>

  <Accordion title="Secure ID (Reverse penny drop)">
    Reverse penny drop webhooks notify you when a bank account verification via reverse penny drop reaches a terminal state. For full payload schemas, see [Reverse penny drop webhooks](/docs/api-reference/vrs/v2/reverse-penny-drop/webhooks-reverse-penny).

    | Event                                   | Description                               |
    | --------------------------------------- | ----------------------------------------- |
    | `RPD_BANK_ACCOUNT_VERIFICATION_SUCCESS` | Reverse penny drop verification succeeds. |
    | `RPD_BANK_ACCOUNT_VERIFICATION_EXPIRED` | The reverse penny drop request expires.   |
    | `RPD_BANK_ACCOUNT_VERIFICATION_FAILURE` | Reverse penny drop verification fails.    |
  </Accordion>

  <Accordion title="PPI (Wallet)">
    PPI wallet webhooks notify you of credit events on a user's wallet. For full payload schema and signature verification, see [PPI wallet webhooks](/docs/api-reference/prepaid-payment-instruments/webhook-signature-verification).

    | Event                | Description                             |
    | -------------------- | --------------------------------------- |
    | `PPI_CREDIT_SUCCESS` | A wallet credit completes successfully. |
  </Accordion>
</AccordionGroup>
