payment
.
- Payment success webhook
- Payment failed webhook
- Payment user dropped webhook
Webhook signature
Merchant will receive the Webhook signature in the Webhook Header part. Below is a sample header that merchants can expect in the Webhook request.- Version (2025-01-01)
- Version (2023-08-01)
Header Name | Header Value |
---|---|
content-length | 1099 |
x-webhook-attempt | 1 |
content-type | application/json |
x-webhook-signature | 07r5C3VMwsGYeldGOCYxe5zoHhIN1zLfa8O0U/yngHI= |
x-idempotency-key | n9rn7079wqXcse3GEDEXCYle9ajXmU0SUQY8zrUNAlc= |
x-webhook-timestamp | 1746427759733 |
x-webhook-version | 2025-01-01 |
Ensure that the webhook payload is received in raw text format. Converting the webhook into a JSON object can lead to automatic transformation of decimal values—such as the payment_amount—into integers. This alteration (e.g., payment_amount: 170 instead of payment_amount: 170.00) can cause a webhook signature mismatch.
Correct format: payment_amount: 170.00 ✅
Incorrect format: payment_amount: 170 ❌
Correct format: payment_amount: 170.00 ✅
Incorrect format: payment_amount: 170 ❌
Payment success webhook
A payment success webhook is triggered when a payment is successfully completed. You can use this for: Updating order status, triggering fulfillment, send confirmation to customer.- Version (2025-01-01)
- Version (2023-08-01)
Version (2025-01-01)
Payment failed webhook
The payment failed webhook notifies you when a payment attempt fails and we receive a failed response from the bank. Use case: Update order status, notify customer, initiate retry flow- Version 2025-01-01
- Version 2023-08-01
Version 2025-01-01
Payment user dropped webhook
The User Dropped Webhook notifies you when your customer abandons the payment flow. It will help you understand if customers attempted to pay or not. Some common scenarios where the transaction will be marked as USER_DROPPED are:- User was redirected to the bank’s OTP page, but never entered the OTP.
- User was redirected to open the UPI app, but never entered the UPI PIN.
- User was shown the 3ds OTP modal, but did not enter the OTP.
- Version 2025-01-01
- Version 2023-08-01
Version 2025-01-01
Sample Payload by Payment Method
The instrument used for making a payment will vary by the payment methods used by the customer. Details of the payload by payment method are documented for reference.- Card
- Net Banking
- UPI
- Wallet
- Credit Card EMI
- Debit Card EMI
- Cardless EMI
- Pay Later
- VBA Transfer
- Bank Transfer
Webhook FAQs
How do I add or configure webhook URLs for different event types (e.g., success, failed)?
How do I add or configure webhook URLs for different event types (e.g., success, failed)?
You can configure webhook URLs for each notification type in your merchant dashboard. To receive notifications, subscribe to specific events, such as PAYMENT_SUCCESS or PAYMENT_FAILED. For step-by-step instructions, go through the official documentation.
Why am I not receiving failed webhooks?
Why am I not receiving failed webhooks?
This may occur if the PAYMENT_FAILED webhook event is not subscribed. To resolve this, open your dashboard, navigate to the webhook configuration, and ensure that the
PAYMENT_FAILED
event is selected.Note: This applies to all webhook events. Make sure relevant events are enabled as needed.I’m getting an error while adding the webhook endpoint. What could be wrong?
I’m getting an error while adding the webhook endpoint. What could be wrong?
Ensure that your endpoint is reachable and returns a 2xx status code. Also, verify that it is properly configured to accept webhook requests.
Why is my webhook not received?
Why is my webhook not received?
There could be multiple reasons:
- The webhook URL was not included in the notify_url parameter during order creation.
- Make sure you have done webhook configuration for the notification type as you needed.
- The endpoint URL is returning a 4xx or 5xx error.
- Verify that your webhook is correctly configured in the merchant dashboard under Webhook Configuration.
- Ensure that the endpoint is accessible and able to accept requests from Cashfree.
How do I enable or disable specific webhook types?
How do I enable or disable specific webhook types?
You can enable or disable specific webhook types directly from the merchant dashboard. For detailed instructions, refer to the documentation.
How to enable the latest webhook version (e.g., 2025-01-01)?
How to enable the latest webhook version (e.g., 2025-01-01)?
Once the feature is rolled out in Production, the new version will appear in the version drop-down under Webhook Configuration.⚠️ Note: If you do not see the new version, the rollout may still be in progress. Please check back later or contact support for assistance.
Webhook is configured, but no real-time data is received. Why?
Webhook is configured, but no real-time data is received. Why?
This may happen if the webhook URL is configured but no events are selected. Ensure:
- Webhook types are enabled.
- Your endpoint is healthy and accessible to accept the requests from Cashfree.
Why did the webhook trigger multiple times?
Why did the webhook trigger multiple times?
Duplicate webhook triggers may occur due to misconfiguration or retry logic. This can happen if multiple webhook versions are configured using the same or different endpoint URLs.✅ Actions to take:
- The Merchant can revisit and delete the duplicate configured endpoint URL from the merchant dashboard.
What if I don't pass a notify_url and only use return URLs?
What if I don't pass a notify_url and only use return URLs?
Notify URLs are necessary for webhook delivery. Return URLs only redirect the user after the transaction. Ensure you pass both as different URLs, especially if you need server-side notifications.
How can I improve webhook issue handling and reduce to raise support tickets?
How can I improve webhook issue handling and reduce to raise support tickets?
- Always subscribe to the necessary webhook event types (
SUCCESS
,FAILED
,USER_DROPPED
). - Test your webhook integration in Sandbox before going live.
- Use publicly accessible HTTPS URLs that return 200 OK responses.
- Regularly review and update webhook configurations in the merchant dashboard to avoid outdated or incorrect entries.