Skip to main content
Checkout webhooks tell you when a buyer left the hosted checkout without paying, so your CRM or automation can follow up. Register a webhook with type: "checkout" to receive them.

Example delivery payload

Fields

When it is sent

  • About 30 minutes after the checkout session ends without payment. Sessions expire after 30 minutes of inactivity, so the event usually arrives about one hour after the buyer’s last action.
  • Only for buyers who left an email or a phone, who have not paid that checkout since, and who have no payment still pending (for example an unpaid Pix).
  • Buyers in regions where your store asks for cookie consent are included only when they accepted it.
  • At most once per checkout session. A purchase completed later still arrives as transaction.paid.

Event names emitted today

  • checkout.abandoned

Handling guidance

  • Deduplicate by data.id; redeliveries keep the same top-level id.
  • Use checkout_url as the recovery link. Conversions through it are attributed to the abandoned cart in your dashboard metrics.
  • Treat customer as personal data: store it only for the recovery flow and honor opt-out requests in your own CRM.