Retries & Timeouts
Simpler retries Platform Interface calls and webhook deliveries on transient failures. This page is the canonical source for retry counts, backoff schedules, and timeout behavior.
Webhook Events
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.
Error Codes
When a Platform Interface call cannot succeed, return a JSON body shaped as { code, message } with an HTTP 400. Simpler reads the body only when the status code is exactly 400 — any other 4xx (e.g. 404, 422) is treated as a generic failure and its code is ignored, and a code returned with a 2xx status is not treated as an error. The code field is the machine-readable identifier Simpler uses to surface a localized message to the shopper in the checkout UI; the message field is partner-supplied context (useful in logs but not directly shown).
Order Lifecycle
The /submit call represents an authorized order, not a captured one. Capture happens only after your /submit endpoint returns a 2xx response — so a failed submission never charges the shopper. If /submit fails terminally, the authorization is held so the order can be recovered Debug, Retry, or Cancel. For synchronous methods the authorize/capture distinction rarely matters in practice; for asynchronous methods (MultiBanco, MBway, Sequra) it's central to the partner integration.