Cashfree Abandoned Checkout helps merchants recover lost sales by capturing abandoned checkout data and sharing it with Business Service Providers (BSPs) in real-time. This allows merchants to retarget customers who leave the checkout process without completing their purchase.

Purpose

Shopify no longer supports direct updates of abandoned checkout data from third-party providers. As a result, merchants can’t automatically track where customers drop off. Cashfree Abandoned Checkout addresses this by ensuring merchants receive abandoned cart data instantly, helping them re-engage customers and increase conversions.

Data flow and captured information

Cashfree uses real-time webhooks to send abandoned checkout data directly to BSPs. The captured data includes:

  • Customer details: Phone number and email, even if partially filled.
  • Address details: Any entered address, including partial entries (for example, ZIP code).
  • Cart details: Complete cart contents.
  • OCC checkout URL: A dynamic link that lets customers resume checkout.
  • Marketing opt-in status: Indicates whether the customer agreed to receive marketing communications.

Benefits

  • Immediate retargeting: Reach high-intent customers quickly through BSP channels, such as WhatsApp.
  • No data loss: Capture customer details even if they abandon the process early.
  • Automated workflow: After setup, no manual intervention is required.
  • Flexible checkout options: Supports both Shopify checkout links and Cashfree OCC checkout links.
  • Secure data handling: Each merchant receives a unique token to ensure secure and authenticated data sharing with BSPs.

Setting up webhook notifications for WhatsApp provider

Follow these steps to subscribe to the abandonedCheckout webhook topic:

  1. Get the callback URL where you want to receive event notifications from the webhook consumer (e.g., business service providers such as Spur, LimeChat, Gupshup, Whitespeed, or BiteSpeed).

  2. Generate the webhook key using the below steps:

    • Go to the Ecom Dashboard.

    • Enter the callback URL.

    • Generate the webhook key.

  3. Share the generated webhook key to the webhook consumer.

  4. Share the integration steps with the WhatsApp provider.

Integration steps

The Ecom 360 Webhook monitors key events, such as abandoned checkouts, in real time. When a merchants subscribes to this webhook, it receives structured JSON payloads containing customer and order details. This allows businesses to automate actions such as sending reminders or promotional offers.

Subscribing to a webhook topic

To subscribe to the abandonedCheckout topic, provide the following details:

  • Topic name: abandonedCheckout
  • Callback URL: The URL where you want to receive event notifications.
  • Webhook version: v1
  • Secret key: Cashfree Payments provides this key to verify the authenticity of received events.

After subscribing, the webhook sends real-time notifications to the specified callback URL when an event occurs.

Event payload structure

When the abandonedCheckout event triggers, the webhook sends the following payload:

{
  "event": "abandonedCheckout",
  "data": {
    "cart_id": "67ce821dc7a4138afbd2953a",
    "store_url": "tablecamp.myshopify.com",
    "platform": "shopify",
    "cart_token": "Z2NwLWFzaWEtc291dGhlYXN0MTowMUpOWjlYMktOMUIxTjBIOEs3UEJLWlM0MQ?key=1f98f6cb1ca15bc173825dd280303b4c",
    "email": "yogesh.s@cashfree.com",
    "phone": 9999119191,
    "abandoned_checkout_url": "zecpe.com/c/uT67W1wO",
    "utm_parameters": {
      "fbclid": "",
      "utm_campaign": "",
      "utm_content": "",
      "utm_medium": "",
      "utm_source": ""
    },
    "line_items": [
      {
        "image_url": "https://cdn.shopify.com/s/files/1/0527/2000/9406/files/air-jordan-1-mid-se-shoes-qG5ltp.webp?v=1715864228",
        "name": "Air Jordan (Copy)",
        "price": 5000,
        "product_id": "8224702562494",
        "quantity": 1,
        "sku": "",
        "variant_price": 4500,
        "variant_id": "44327786283198",
        "variant_title": "Orange",
        "gram": 0,
        "title": "Air Jordan (Copy) - Orange"
      }
    ],
    "promotions": [],
    "customer": {
      "email": "",
      "first_name": "",
      "last_name": "",
      "shipping_address": {
        "first_name": "Yogesh",
        "last_name": "Sharma",
        "address1": "test test test order",
        "address2": "please cancel codfirm",
        "city": "Gurgaon",
        "province": "Haryana",
        "country": "IN",
        "zip": 122001,
        "phone": "",
        "name": "Yogesh Sharma",
        "province_code": "HR",
        "country_code": "IN"
      }
    }
  }
}

Webhook headers

Each webhook request includes the following headers to help businesses identify and validate the request:

Header keyDescription
x-store-urlSpecifies the store URL associated with the event
x-webhook-topicIndicates the subscribed topic
x-webhook-versionDisplays the webhook version
x-webhook-signatureProvides the HMAC signature to verify authenticity
x-request-idAssigns a unique identifier for the request
User-AgentIdentifies the request as Ecom360-v1
Content-TypeDefines the payload format (application/json)

Note: For assistance with setup or further inquiries, contact your Cashfree Payments Account Manager or fill out the Support Form