order.paid
An order was paid: a booking, an event or program sign-up, a store or point-of-sale sale (card or cash), a gift card, club credit, or a membership payment — the first one and every renewal. Once per order. data.object is the itemized order, as GET /v1/orders/{id} returns it: line_items[].booking_id and event_id say what it paid for. It is the order as it is when the signal is sent: a refund that landed within moments of the payment already shows in status and refunds. A $0 order (a booking paid in full with a pass or points) is sent too, with amount: 0. A membership payment of $0 creates no order and sends nothing.
Scope: the webhook endpoint’s scopes must include orders:read. Missed a delivery? The same signal is available from GET /v1/signals.
Header Parameters
The message id — stable across retries of the same message. Deduplicate on the body’s id (the signal id), not on this: an endpoint whose api_version changes while a signal is being retried can receive that signal once per version, as two messages with two message ids.
When this attempt was sent, in Unix seconds.
Signature over the id, timestamp and raw body, made with your endpoint’s secret. Verify it with any Standard Webhooks library before trusting the payload.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
Example Requests
/order.paid