Subscribe BSP endpoints to the Cashfree One Click Checkout abandoned cart webhook to receive real-time customer, address, and cart payloads for retargeting.
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.
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.
Checkout initiated: The customer starts the checkout flow.
Login completed: Cashfree captures the customer’s phone number.
Address submitted: Cashfree captures the customer’s phone number, address, and email address.
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:
Field
Description
Included
Store URL (storeUrl)
Identifies the Shopify store.
Always
Cart details (lineItems)
The items in the cart.
Always
UTM parameters (utmParameters)
Marketing parameters captured when the customer initiated checkout.
Always
Abandoned checkout URL (abandonedCheckoutUrl)
Link to the merchant’s Shopify store with the OCC page preloaded and previous information pre-filled. Use this URL for retargeting.
Always
Total price (totalPrice)
Final payable amount for the customer.
Always
Phone number (phone)
Customer’s phone number.
Only if the customer completed login (dropped off at step 2 or later)
Customer details (customer)
Name, email address, and shipping address.
Only if the customer submitted the complete address (dropped off at step 3)
Promotions (promotions)
List of discounts, if the customer applied any.
If the customer applied a discount
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.
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 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 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 Update Secret Key option
For an optional recap, watch the following video walkthrough of this process.
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.
Not logged in
Address submitted
Login completed
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.