Skip to main content
Cashfree One Click Checkout (OCC) webhooks notify Communications and WhatsApp Business Service Providers (BSPs) in real time when customers create abandoned carts. BSPs can add their webhook URLs to receive these events.

How Cashfree defines an abandoned checkout

OCC checkout progresses through four steps. Cashfree uses this progression to decide when a checkout counts as abandoned, and which customer details it can include in the webhook payload.
  1. Checkout initiated: The customer starts the checkout flow.
  2. Login completed: Cashfree captures the customer’s phone number.
  3. Address submitted: Cashfree captures the customer’s phone number, address, and email address.
  4. Order placed: The customer completes the order. Cashfree doesn’t treat this checkout as abandoned.
Cashfree marks a checkout as abandoned when a customer drops off anywhere between step 1 and step 4 and remains inactive for 30 minutes. When a customer drops off at any point during checkout, Cashfree OCC creates an abandoned cart record in both Shopify and the Cashfree system. The record always includes the cart contents and store URL, and adds customer details as the shopper progresses:
  • Dropped after step 1 (not logged in): cart and store details only; no phone number or customer block.
  • Dropped after step 2 (login completed): phone number is included.
  • Dropped after step 3 (address submitted): phone number plus the full customer block (name, email, shipping address).
Merchants can use this data to retarget customers. See Sample webhook event payload for examples of each variant. Abandoned cart records can include the following fields: Cashfree OCC triggers webhooks only for abandoned carts, not for completed checkouts. Once a BSP adds a webhook URL, it begins receiving events. To enable this, merchants must ask the BSP to share the webhook URL where Cashfree should send data.
Cashfree doesn’t send abandoned checkouts to Shopify if a login is required in the native checkout settings.

Adding a webhook endpoint

To start receiving abandoned cart webhooks from Cashfree One Click Checkout (OCC), follow these steps.
1

Log in to the Merchant Dashboard

Log in to the Merchant Dashboard.
2

Open the webhooks configuration page

Go to Payment Gateway > Developers > Webhooks > Configuration > Payment Gateway tab.
3

Add a webhook endpoint

On the Webhooks page, select Add Webhook Endpoints.
4

Enter the endpoint details

In the Endpoint Details section:
  • Enter the endpoint URL where you want to receive webhook data.
  • Select Test to verify the URL.
  • From the drop-down menu, select Webhook Version: 2025-01-01.
  • Select Continue.
Endpoint Details section showing the endpoint URL field, Test button, and webhook version drop-down

Endpoint Details section of the Add Webhook Endpoints flow

5

Add a retry policy and select events

In the Add Policy section:
  • Choose a retry policy. The default policy includes 3 retries.
  • Select the relevant events to subscribe to.
  • Optionally, add another retry policy if needed.
  • Select Continue.
Add Policy section showing retry policy options and selected events, including abandoned checkout

Add Policy section of the Add Webhook Endpoints flow

6

Review and save

In the Summary section:
  • Review the configuration.
  • Select Update Secret Key, then select Update in the confirmation pop-up. This generates the custom secret key that Cashfree uses to sign this webhook’s payload. This key is separate from your Cashfree PG secret key.
  • Select Save.
Summary section showing the configuration review and Update Secret Key button

Summary section showing the Update Secret Key option

For an optional recap, watch the following video walkthrough of this process.

Sample webhook event payload

The payload varies depending on the step where the customer dropped off. Select the tab that matches your scenario.
Unlike other Cashfree webhooks, which sign payloads with your Cashfree PG secret key, the abandoned checkout webhook uses a separate custom secret key. Generate or rotate this key from the Summary section when you add the webhook endpoint by selecting Update Secret Key. Use this custom secret key, not your PG secret key, together with the payload to verify the x-webhook-signature header.
Customer dropped off before logging in (after step 1). The payload omits phone and customer because Cashfree hasn’t captured the shopper’s identity yet.

Webhook headers

Each webhook request contains the following headers for validation and tracing.