Skip to main content

Abandoned Cart Recovery Events

The following webhook events track the abandoned cart recovery lifecycle:

Abandoned Checkout Payload Fields

string
required
The original payment that was abandoned. Use this to look up product, amount, and currency details.
string
required
The brand this abandoned checkout belongs to.
string
required
The customer who abandoned the checkout.
string
required
Why the checkout was abandoned. One of:
  • payment_failed — Customer attempted payment but it failed
  • checkout_incomplete — Customer visited checkout but never attempted payment
string
required
Current lifecycle state of this recovery attempt. One of:
  • abandoned — Detected, no emails sent yet
  • recovering — At least one recovery email sent
  • recovered — Customer completed payment
  • exhausted — All emails sent or newer checkout found
  • opted_out — Customer unsubscribed
string
required
ISO 8601 timestamp of when the checkout was detected as abandoned.
string | null
The payment ID of the successful recovery payment. null until the checkout is recovered.

Example: Handling ACR Webhooks


Dunning Events

The following webhook events track the subscription dunning lifecycle:

Dunning Attempt Payload Fields

string
required
The subscription that triggered the dunning attempt.
string
required
The brand this dunning attempt belongs to.
string
required
The customer who owns the subscription.
string
required
The subscription state that triggered dunning. One of:
  • on_hold — Subscription paused due to payment failure
  • cancelled — Customer cancelled from the customer portal
string
required
Current lifecycle state of this dunning attempt. One of:
  • recovering — Dunning emails are being sent
  • recovered — Customer updated payment method and payment succeeded
  • exhausted — All emails sent or subscription state changed
string
required
ISO 8601 timestamp of when the dunning attempt was created.
string | null
The payment ID of the successful recovery payment. null while recovering.

Example: Handling Dunning Webhooks

Subscribe to both dunning.started and dunning.recovered to track the full dunning lifecycle. Use dunning.started to pause grace periods or flag at-risk subscriptions in your system.

Abandoned Cart Recovery

Configure ACR email sequences and discount incentives.

Subscription Dunning

Configure dunning email sequences for lapsed subscriptions.

Subscription Webhooks

Related subscription lifecycle events like subscription.on_hold and subscription.cancelled.

Webhook Payload Schema

Webhook payload for abandoned_checkout.detected and abandoned_checkout.recovered events

abandoned_at
string<date-time>
required
abandonment_reason
enum<string>
required
Available options:
payment_failed,
checkout_incomplete
brand_id
string
required

Brand id this abandoned checkout belongs to

customer_id
string
required
payment_id
string
required
status
enum<string>
required
Available options:
abandoned,
recovering,
recovered,
exhausted,
opted_out
recovered_payment_id
string | null
Last modified on August 5, 2026