The envelope
Every delivery shares one envelope;data varies by event:
id is the delivery id (stable across retries — deduplicate on it), type is the event name, createdAt is epoch milliseconds.
Events
Payloads
All order-related events carry the same base: checkout identity, status, totals, and an item summary. Payment and refund events add one extra object.- Order events
- Payment events
- Refund events
- Ping
order.completed, order.partial, order.failed:No card codes — fetch them with
GET /retailer/v1/checkouts/{checkoutId} after verifying the signature.Choosing events to subscribe
Most integrations only need the order terminals:- Minimal:
order.completed,order.partial,order.failed— fetch codes on completed/partial, alert on failed. - With payment UX: add
payment.detectedandpayment.confirmedto update your customer’s payment screen in real time. - With refund tracking: add the three
refund.*events.