Cashfree webhook
Failed payments, subscription problems and refunds from Cashfree Payments.
Setup
- In the Cashfree Merchant Dashboard open Developers, then Webhooks, and copy your PG secret key from API Keys.
- In PingLoom open Webhooks, choose New webhook source, pick Cashfree, paste the secret key, choose the events and create it. Copy the endpoint URL.
- In Cashfree go to Developers, Webhooks, Add Webhook Endpoint. Paste the PingLoom URL, choose the latest webhook version and select the payment, refund and subscription events.
- Use Test Webhook in Cashfree. The request appears under Recent requests on the PingLoom source page.
Verification
Cashfree signs each request with HMAC-SHA256 over the timestamp (x-webhook-timestamp) followed by the raw body, using your Cashfree secret key, and sends it base64-encoded in x-webhook-signature. PingLoom rejects requests whose timestamp is more than five minutes off. Cashfree sends no event id, so PingLoom builds one from the event type, the object id and the status.
Events
You choose which events become alerts when you create the source, and you can change it later on the source page.
| Event | Priority | On by default |
|---|---|---|
| Payment failed | high | Yes |
| Subscription payment failed | high | Yes |
| Subscription on hold or card expired | high | Yes |
| Subscription cancelled | normal | Yes |
| Refund processed | normal | Yes |
| Refund cancelled | high | Yes |
| Sales (payment success) | low | No |
| Subscription charged | low | No |
PingLoom keeps the amount, order and payment ids and the failure reason. Customer names, emails, phone numbers and UPI ids are never copied.
The secret key is stored encrypted and never shown again.