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.

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