“Where is my refund?”
The answer is spread across the refunds table, a worker's logs and last week's deploy.
Payment problems are the ones customers notice first. TraceX follows the money through your database, your payment code and your logs, and shows exactly where it went.
The answer is spread across the refunds table, a worker's logs and last week's deploy.
Retries, webhooks and timeouts make duplicate charges hard to find and harder to explain.
How many customers were affected, and for how much, means yet another ad-hoc query.
TraceX queries your payment tables read-only and follows each record through its states, so you can see where a refund or charge got stuck.
SELECT id, order_id, state, created_atFROM refundsWHERE state = 'pending' AND created_at > '2026-10-21'
| id | order_id | state | created_at |
|---|---|---|---|
| rf_9921 | 48213 | pending | Oct 21 09:12 |
| rf_9934 | 48190 | pending | Oct 21 11:40 |
| rf_9958 | 48236 | pending | Oct 22 08:03 |
| rf_9987 | 48271 | pending | Oct 23 16:55 |
| … 30 more rows | |||
34 refunds are stuck in pending, every one created after Oct 21.
Ask TraceX in Slack why an order was charged twice, and get the cause and who else was affected, with citations.
@TraceX why was order 48190 charged twice?
A card error retried the charge without an idempotency key, so the second attempt charged again 1. 6 orders were hit on Oct 22 2.
When finance asks how many customers were affected and for how much, TraceX answers with the total and the records behind it, ready to export.
| Order | Amount |
|---|---|
| 48190 | $249.00 |
| 48197 | $189.00 |
| …4 more |
For every payment problem, TraceX tests the likely explanations against your data and logs, and shows which one holds and why the others don't.
Your payments database with read-only credentials, your repositories and your logs.
From a ticket, in Slack or in the dashboard: what happened to this refund, this charge, this payout?
Reply to the customer, give finance the numbers, and review the fix.
See how each payment moved through your system, and where it stopped.
Get the list of customers hit by a payment bug, not just the bug.
Totals come with the rows and queries behind them.
Tell a customer exactly what happened to their money.
When the cause is in the code, TraceX writes the fix for review.
TraceX never writes to your payment tables, and keeps no copy of them.
TraceX reads your own database, code and logs, where your payment records and provider responses are stored. It doesn't need access to move money, and never could.
No copy of your tables is kept. Answers keep what was looked up and where, and exports are deleted after 24 hours.
Yes. Anyone your admins invite can ask in plain English, read-only.
TraceX is free during the private beta. Connect a database and a repository and ask your first question in minutes.