Skip to main content
Every webhook event shares the same envelope. This page documents each event, when it fires, and any additional fields in the payload.

Envelope

The order object always contains at least: Headers on every delivery:

approved

Fires when: an order is fully settled — a paid checkout completes, or an earning order is awarded. Use it to: mark the order as confirmed in your system, send the customer a receipt, trigger fulfilment.

authorized

Fires when: funds are authorised on a two-step (auth → capture) payment flow. No money has moved yet. Use it to: reserve inventory, start fulfilment if your flow permits it before capture.

captured

Fires when: previously-authorised funds are captured. Use it to: finalise the order, release inventory holds, run post-sale automation.

cancelled

Fires when: an order is cancelled via POST /v1/orders/{uuid}/cancel. Use it to: release inventory, notify the customer, stop fulfilment.
The reason field, if supplied on the cancel request, is echoed in the payload.

completed

Fires when: a replacing (checkout) order is marked complete via POST /v1/orders/{uuid}/complete — typically after the customer’s payment is confirmed by the PSP. Use it to: close out the order on your side if your flow distinguishes “approved” from “completed”.

shipping_status_updated

Fires when: you update a physical-goods order’s shipping status via POST /v1/orders/{uuid}/status. Additional fields (inside order):

refunded

Fires when: a refund is created through POST /v1/orders/{uuid}/refund. Use it to: reverse fulfilment-side accounting, return value in your ERP, and mark the order as fully or partially refunded on your side. Additional fields (inside order): Not every refund payload includes every optional field. For example, refund_points, left_points, and left_amount are especially relevant for earning-order reversals.

auto_refunded

Fires when: Points automatically reverses a replacing order internally, for example when a required transaction record is missing during backend reconciliation. Use it to: treat the order as refund-class terminal state and stop assuming the checkout remained successful. Additional fields (inside order):

Testing events

The fastest way to trigger an event end-to-end is to issue the corresponding API call against a sandbox order:

Delivery semantics

  • Points sends webhook deliveries over HTTPS
  • each attempt uses a 10 second HTTP timeout
  • failed deliveries may be retried up to 3 times
  • order is not guaranteed across different events, so your consumer must be idempotent

Next

Overview

How delivery works, secret verification, and the recommended consumer pattern.

Management

Register, update, rotate, and delete webhooks.