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

# Webhooks Troubleshooting

> Troubleshoot Cashfree webhook delivery issues including signature verification, retries, missing events, payload parsing, and endpoint availability problems.

<Accordion title="Error: &#x22;Unable to proceed. Please retry after some time&#x22;" onClick={() => posthog.capture('Accordion Clicked', { title: 'Error: "Unable to proceed. Please retry after some time"' })}>
  This issue may arise due to multiple reasons, such as:

  * High latency in response to the test payload.
  * Webhook endpoint didn't return HTTP 200 OK.

  To troubleshoot this issue, follow this step:
  Ensure your webhook endpoint returns a 200 OK response within 50 ms during configuration.
</Accordion>

<Accordion title="Signature verification mismatch" onClick={() => posthog.capture('Accordion Clicked', { title: "Signature verification mismatch" })}>
  This issue may arise due to multiple reasons, such as:

  * Parsed payload is being used.
  * Timestamp provided in the ‘x-webhook-timestamp’ isn't used for creating the signed payload.

  To troubleshoot this issue, follow these steps:

  * Use the raw payload and x-webhook-timestamp to generate the signed payload.
  * Sign it using your client secret and HMAC SHA256.
  * Refer [here](https://www.cashfree.com/docs/payments/online/webhooks/overview#webhook-signature-verification) for the sample code.
</Accordion>

<Accordion title="Webhooks not received" onClick={() => posthog.capture('Accordion Clicked', { title: "Webhooks not received" })}>
  This issue may arise due to multiple reasons, such as:

  * Endpoint not returning 200 OK.
  * Required events not selected.
  * Endpoint expects a non-JSON format.
  * Payment is still in an intermediate state.

  To troubleshoot this issue, follow these steps:

  * Ensure the endpoint returns 200 OK and can parse JSON.
  * Use the [Get Payment Status API](https://www.cashfree.com/docs/api-reference/payments/latest/payments/get-payments-for-an-order) to check the payment status.
</Accordion>

<Accordion title="VALIDATION_FAILED" onClick={() => posthog.capture('Accordion Clicked', { title: "VALIDATION_FAILED" })}>
  This issue arises because HTTP (instead of HTTPS) webhook endpoint configured in production.

  To troubleshoot this issue, follow this step:

  * Use only HTTPS URLs for webhook endpoints in the production environment.
</Accordion>

<Info>
  For comprehensive security guidelines including IP whitelisting, signature verification, and SSL configuration, refer to the [Webhook Security Checklist](/docs/payments/online/webhooks/security-checklist).
</Info>
