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 type | When it fires | Status values |
|---|---|---|
ORDER_UPDATED | The order's payment state changed. This is the only event type today; specific transitions are encoded in the status field of the payload. | PAYMENT_SUCCESS, PAYMENT_FAILED |
ORDER_UPDATED status transitions
status | Fires when |
|---|---|
PAYMENT_SUCCESS | Payment 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_FAILED | Payment could not be completed — e.g. a MultiBanco voucher expired unpaid after 72 hours, or a Sequra risk check rejected the shopper. |
Payload shape
Every event delivery contains:
- The event envelope (
type,created_at,data) — seeorder_updated.ymlvia the OpenAPI reference. - The
X-Simpler-CRCsignature header (HMAC-SHA1 of the raw body with your app secret). - An
Idempotency-KeyHTTP header for dedup (see Retries & Timeouts).
See also
- Handling Webhooks tutorial — complete receiver implementation.
- Retries & Timeouts — delivery retry schedule and idempotency handling.
- Order lifecycle — how webhook events map to order state on the partner side.