Abandoned Carts

An abandoned cart represents a checkout that a buyer started through one of your e-commerce integrations (Shopify) but never completed with a successful payment. When a buyer begins checkout, Zafepay creates a pending subscription/payable for them. If, after a grace period, that checkout still hasn't produced a successful, refunded, or in-progress payment, Zafepay snapshots the buyer, product, shipping, and any extra checkout data into an AbandonedCart record and removes the unfinished payable. This gives you a durable record of "who almost bought, and what" that you can use for recovery emails, retargeting, or reporting — without that data disappearing once the incomplete checkout is cleaned up. Abandoned carts are a snapshot, not a live link: they are not automatically updated or removed if the buyer later comes back and completes a purchase, since by the time a cart is recorded it's already been confirmed the buyer didn't finish. Records are retained for a configurable number of days per company and purged automatically after that. Currently, abandoned cart capture is only active for the Shopify integration, even though the origin field also supports woocommerce and jumpseller for future use.

The Abandoned Cart object

Attributes

FieldTypeDescription
idstring (uuid)Unique identifier of the abandoned cart.
originstringPlatform that originated the cart. Only shopify supported
external_idstring, nullableCart/order identifier on the origin platform.
subscription_idstring (uuid), nullableRelated subscription, if the cart was later converted.
buyer_idstring (uuid), nullableRelated buyer, if one was matched/created.
buyer_snapshotobjectSnapshot of the buyer's data at the moment the cart was abandoned.
products_snapshotarray of objectSnapshot of the cart's line items at the moment it was abandoned.
shipping_snapshotobjectSnapshot of the shipping information at the moment the cart was abandoned.
extra_fields_snapshotarray of objectAdditional platform-specific fields captured at the moment of abandonment.
abandoned_atstring (date-time)When the cart was abandoned. Format YYYY-MM-DDTHH:MM:SS.
created_atstring (date-time)When the record was created in Zafepay.
updated_atstring (date-time)When the record was last updated.

Example

{
  "id": "b1e2c3d4-5678-4abc-9def-0123456789ab",
  "origin": "shopify",
  "external_id": "cart_9f8e7d",
  "subscription_id": null,
  "buyer_id": null,
  "buyer_snapshot": {
    "name": "Jane Doe",
    "email": "[email protected]"
  },
  "products_snapshot": [
    {
      "name": "T-Shirt",
      "quantity": 1
    }
  ],
  "shipping_snapshot": {},
  "extra_fields_snapshot": [],
  "abandoned_at": "2026-08-20T14:32:00",
  "created_at": "2026-08-20T14:32:05",
  "updated_at": "2026-08-20T14:32:05"
}