Payments and billing | TraceX
Payments and billing
Every refund, charge and payout, explained.
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 problem
Sound familiar?
“Where is my refund?”
The answer is spread across the refunds table, a worker's logs and last week's deploy.
Double charges
Retries, webhooks, and timeouts make duplicate charges hard to find and harder to explain.
Finance needs numbers now
How many customers were affected, and for how much, means yet another ad-hoc query.
Follow the money
See exactly what happened to every payment.
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.
- Refunds, charges, payouts and their states
- Read-only queries, written for you
- No rows kept after the answer
PostgreSQL · production · read-only
SELECT id, order_id, state, created_at FROM refunds WHERE 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 |
| … | … | … | … |
34 rows · read-only query · no rows stored
34 refunds are stuck in pending, every one created after Oct 21.
Ask about any order
Answers where your team already is.
Ask TraceX in Slack why an order was charged twice, and get the cause and who else was affected, with citations.
- Mention TraceX in any thread
- The cause and the blast radius
- Every claim cited
#support · Slack
Priya 2:14 PM
@TraceX why was order 48190 charged twice?
TraceX APP
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.
Numbers for finance
The impact, with the rows behind it.
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.
- Totals with the evidence
- Spreadsheet, CSV or PDF on request
- Exports deleted after 24 hours
How many customers were charged twice on Oct 22, and for how much?
Queried payments · 12 rows
Checked the total against the rows
6 customers were charged twice, $1,284.00 in total 1.
| Order | Amount |
|---|---|
| 48190 | $249.00 |
| 48197 | $189.00 |
| … | … |
Hypotheses
Why it happened, proven.
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.
- Provider, code and data checked in turn
- Wrong explanations ruled out with evidence
- Confidence on the one that holds
Why was #48190 charged twice? 3 tested
The customer clicked Pay twice
Ruled out
The provider sent a duplicate webhook
Ruled out
A retry charged again without an idempotency key
Confirmed
How it fits
Set up once. Useful every day.
01
Connect read-only
Your payments database with read-only credentials, your repositories and your logs.
02
Ask about any payment
From a ticket, in Slack or in the dashboard: what happened to this refund, this charge, this payout?
03
Act on the evidence
Reply to the customer, give finance the numbers, and review the fix.
What you get
Built for how you work.
- Every state, explained
See how each payment moved through your system, and where it stopped. - Who was affected
Get the list of customers hit by a payment bug, not just the bug. - Evidence for every number
Totals come with the rows and queries behind them. - Replies customers trust
Tell a customer exactly what happened to their money. - Fixes as pull requests
When the cause is in the code, TraceX writes the fix for review. - Read-only on financial data
TraceX never writes to your payment tables, and keeps no copy of them.
FAQ
Does TraceX connect to our payment provider?
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.
Is financial data stored?
No copy of your tables is kept. Answers keep what was looked up and where, and exports are deleted after 24 hours.
Can finance use it directly?
Yes. Anyone your admins invite can ask in plain English, read-only.
Find the root cause. Ship the fix.
TraceX is free during the private beta. Connect a database and a repository and ask your first question in minutes.