Checkout errors you never hear about
Updated 1 October 2026 · BugsRadar team
The customer paid. The webhook that should have confirmed the order threw on a null, the handler logged it and returned 500, the provider will retry later. The customer sees "pending" and closes the tab. Most of them don't write; they just don't come back.
Where to report
- Webhook handlers. Every exception, with the event type and the provider's event id as properties. A webhook that fails will be retried by the provider, and the retries become a count in the first message, so you see both the failure and how long it has been going on.
- Order creation and payment capture. The
catcharound the call that moves money:SendExceptionwith the order id as a property andPaymentsas the module. - The things that fail silently by design. A refund that returns "declined", an email that the provider rejects: not exceptions, but an
Errorlog line with a template,Refund for order {OrderId} declined: {Reason}, is enough to get a message.
What the message says
The project, the level, the exception or the template, where it happened, and the properties: OrderId = 48213 is right there, so the person who reads it can open the order before answering the customer. Repeats are counted in the same message: a webhook failing for one order is ×3 after three retries; a webhook failing for every order is ×300 in an hour and a very different evening. See What you receive.
What to keep out of it
Send what you need to find the order and nothing more. An order id and an event id, yes; card numbers, never, and an email address only if you can't find the customer without it. BugsRadar stores nothing, but the message lands in a chat, and chats are forever. The Privacy Policy says the same in longer words.
Who gets it
On the Pro plan, give the payments module its own channel with a rule, and send Critical to a Pushover channel of the person who can refund at night. The rest of the shop's errors stay in the main group.
What it doesn't do
BugsRadar won't reconcile payments or tell you an order was never created if nothing threw; a nightly reconciliation job that reports its own findings with one HTTP request does that: see HTTP endpoint.
Where to go next
When their outage becomes your bug covers the provider going down. Platforms has the package for your stack.
Next: The first hour after a deploy →