Skip to main content

Webhook Event Catalog

Simpler delivers webhook events to notify your system of state changes that happen outside the synchronous request/response flow — payment confirmations for asynchronous methods, cancellations, and expiries.

This page lists every event type currently emitted. The payload shape for each event is defined in the OpenAPI spec.

Events

Event typeWhen it firesValues
ORDER_UPDATEDThe order's payment state changed; specific transitions are encoded in the status field of the payload.PAYMENT_SUCCESS, PAYMENT_FAILED
REFUND_COMPLETEDA refund reached a terminal outcome, regardless of how it was initiated (your POST /refunds call, the Simpler merchant dashboard, or the payment provider directly). Fires only once a refund is fully resolved or fully failed — not on intermediate "in progress" states.SUCCEEDED, FAILED

ORDER_UPDATED status transitions

statusFires when
PAYMENT_SUCCESSPayment was successfully captured. For synchronous methods (card, wallets) this typically fires immediately after /submit. For async methods (MultiBanco, MBway, Sequra) it fires once the shopper has completed payment offline.
PAYMENT_FAILEDPayment could not be completed — e.g. a MultiBanco voucher expired unpaid after 72 hours, or a Sequra risk check rejected the shopper.

REFUND_COMPLETED outcome values

outcomeFires whenreason
SUCCEEDEDThe refund was confirmed by the payment provider (or independently confirmed already returned).Absent.
FAILEDThe refund could not be completed — e.g. the retry window for insufficient balance was exhausted, the payment provider rejected it outright, or it was cancelled.Always present; a free-text explanation, not a stable enum.
No request correlation today

REFUND_COMPLETED does not echo back any identifier from your original POST /refunds call. Correlate the event with your local order/refund record using order_id — and amount_cents if you need to disambiguate between multiple partial refunds on the same order.

Payload shape

Every event delivery contains:

See also