Break something, then report it

This page is a fake invoicing app carrying the real widget. Every button below breaks something the way real apps break. Then press the report button, and watch the form already know what happened.

Invoice #4821

Due 12 Sep 2026
Client
Northwind Traders
Amount
€1,290.00
Card on file
4242 4242 4242 1881
Vault password

The card number is a masked element and the password is a password field. Both are blurred in the screenshot before it leaves your browser.

  • POST /api/demo/pay answers 500. The widget records it, offers to report it, and keeps the request and response bodies with password and session values redacted.

  • GET /api/demo/invoices/inv_4821.pdf is a 404. Worth interrupting someone over, so the prompt shows for that too.

  • A real uncaught TypeError from this page's own code. Message, file, line and column end up in the report.

  • Loads jQuery from code.jquery.com and trips a deprecation warning inside it. It is someone else's script, so the warning is counted and left out, and the report says how many were.

  • GET https://api.stripe.com/v1/charges without a key, a 401. A third party's request failing is evidence and is kept, but a refused request is not worth a prompt.