Critical finding Sample report — demonstration data Ref FF-2026-08-14-4175A2

Your checkout returns a server error once a delivery option is chosen.

Prepared for Example Trading Ltd example-retailer.co.uk

First observed 12 Aug 2026, 09:41 Confirmed 12 Aug 2026, 09:46 Re-checked 14 Aug 2026, 07:15 Method Public browsing only Report generated 14 Aug 2026, 08:02

Critical · customer-blocking

Customers cannot complete a purchase.

Your basket works. Your first checkout screen works. The moment a customer selects a delivery option, the page returns a server error and the order cannot be finished. We saw this on three separate visits across two days.

97Severity / 100
99%Confidence
Affected page/checkout?step=delivery
ResponseHTTP 500
Times seen3 of 3 visits
Journey stagePayment entry

Observation

What happened when we visited

Affected URL https://example-retailer.co.uk/checkout?step=delivery
Added an item to the basket

The product page loaded normally and the basket updated as expected.

09:41:12
Opened the checkout

The first checkout screen returned HTTP 200 and rendered correctly.

09:41:14
Selected a delivery option

The delivery step returned HTTP 500 Internal Server Error. No error message was shown to the customer — the page simply failed.

09:41:17
Repeated the same step four minutes later

Identical result. This ruled out a momentary server problem or a deployment in progress.

09:45:52
Confirmed independently in a real browser

A browser session reproduced the same failure, so this is not an artefact of automated requests or bot protection.

09:46:03
Re-checked two days later

Still failing. The fault is persistent, not intermittent.

14 Aug 07:15

Evidence

What the page returned

HTTP 500

This is what a customer sees at the point they are trying to give you money.

https://example-retailer.co.uk/checkout?step=delivery 500

500

This page isn't working right now

example-retailer.co.uk is currently unable to handle this request.

Captured 12 Aug 2026, 09:46:03 BST Viewport 1280 × 800 Rendered in a real browser session

Technical detail — request and response log
09:41:12.402 GET /basket 200 OK 412 ms 09:41:14.118 GET /checkout 200 OK 587 ms 09:41:17.945 GET /checkout?step=delivery 500 1,204 ms ├─ content-type: text/html; charset=utf-8 ├─ cache-control: no-store └─ server: nginx 09:45:52.310 GET /checkout?step=delivery 500 1,177 ms └─ verdict: reproduced — not transient 09:46:03.771 BROWSER /checkout?step=delivery 500 ├─ dom: error page rendered ├─ console: no client-side exception └─ verdict: server-side failure 14 Aug 07:15:08 GET /checkout?step=delivery 500 1,190 ms └─ verdict: persistent (48h) summary severity 97/100 · confidence 99% · classification: customer-impacting

Timings are round-trip response times from our checking infrastructure and will differ from what a customer in a different location experiences.

Commercial impact

Why this matters

This fault sits at the last step before payment. A customer has already found your product, decided to buy it, and started giving you their details. That is the most expensive visitor you have — every pound of marketing spend that brought them here has already been spent.

Because the failure happens after the basket, nothing earlier in the journey looks wrong. Your homepage is fine. Your product pages are fine. Standard uptime monitoring will report the site as healthy, because it is: the server is responding, it is just responding with an error on this one route.

Customers almost never report this. From their side it looks like your business is having a bad day, so they close the tab and buy elsewhere.

What we are not claiming. We do not know how many people have hit this page, and we will not invent a figure for lost revenue. We know the route fails, we know when, and we know it is still failing. What that is worth to you is something only you can judge.

Method

How we found this

Your website appeared in our queue of publicly listed UK business websites. We walked the same publicly accessible route a prospective customer would: the homepage, a product page, the basket, and then the checkout.

When the delivery step returned an error, the finding was held rather than reported. It was checked again four minutes later, confirmed independently in a real browser, and re-checked two days after that. Only then did it become a report.

You can verify this yourself right now. Add any item to your basket, go to the checkout and select a delivery option. You should see the same failure we did. If you don't, tell us — see the note in the sidebar.

Reassurance

What we did not access

Public pages only

If this email arrived unexpectedly, this is the section that matters. Everything we saw, any visitor to your website could see.

  • We did not log into any account, admin area or private system.
  • We did not guess, test or attempt any password.
  • We did not bypass authentication or any access control.
  • We did not view, download or store any customer or private data.
  • We did not enter payment or card details at any point.
  • We did not place an order or complete a transaction.
  • We did not submit any form, enquiry or contact message.
  • We did not run any security, penetration or load testing.
  • We did not modify anything on your website.

The failure above was returned by your own server in response to an ordinary page request. Nothing about our visit caused it.

Recommended repair

What needs to happen

A 500 on a single checkout step, while the surrounding pages are healthy, almost always points to the code path that runs when delivery options are calculated — not to the site as a whole. The most common causes are a shipping or delivery extension that has updated, a delivery rule referencing something that no longer exists, or an integration timing out without being handled.

The repair pack for this finding contains:

  • A documented reproduction, so whoever fixes it can see the failure immediately.
  • The technical diagnosis and the most likely root causes, ranked.
  • The specific route, component and integration to inspect first.
  • Server-log locations and what to look for in them.
  • Implementation steps written for a developer to act on directly.
  • A verification checklist to confirm the fix actually worked.
  • A re-check by us once you tell us the change is live.

Your existing developer or agency can implement this. The pack is written to be handed over as-is — you do not need to involve us further.

Next steps

What happens after payment

Immediately

You receive a confirmation email and a receipt from our payment provider.

Within one working day

The full repair pack for this finding is prepared and emailed to you as a document you can forward.

While you're implementing

If your developer needs the evidence clarified, reply to that email and we will answer.

When the change is live

Tell us, and we re-check the same route and confirm in writing whether the fault has gone.

Everything above is demonstration data.

"Example Trading Ltd" and example-retailer.co.uk are fictional. This page exists so you can see exactly what a real FaultFound report contains before one ever lands in your inbox.