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
| Field | Type | Description |
|---|---|---|
id | string (uuid) | Unique identifier of the abandoned cart. |
origin | string | Platform that originated the cart. Only shopify supported |
external_id | string, nullable | Cart/order identifier on the origin platform. |
subscription_id | string (uuid), nullable | Related subscription, if the cart was later converted. |
buyer_id | string (uuid), nullable | Related buyer, if one was matched/created. |
buyer_snapshot | object | Snapshot of the buyer's data at the moment the cart was abandoned. |
products_snapshot | array of object | Snapshot of the cart's line items at the moment it was abandoned. |
shipping_snapshot | object | Snapshot of the shipping information at the moment the cart was abandoned. |
extra_fields_snapshot | array of object | Additional platform-specific fields captured at the moment of abandonment. |
abandoned_at | string (date-time) | When the cart was abandoned. Format YYYY-MM-DDTHH:MM:SS. |
created_at | string (date-time) | When the record was created in Zafepay. |
updated_at | string (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"
}