https://api.southpay.io/api/v2.
Get the reconciliation snapshot
GET /payment_intents/{payment_intent_id}/reconciliation. Scope payments:read.
This is the only payment route that uses the
payment_intents path segment. Every other payment route uses payments. The reconciliation_status field on a payment intent is a shortcut to the status returned here.Response fields
string | null
What the intent asked for, as a decimal string with trailing zeros stripped.
string | null
What actually arrived, as a decimal string.
string | null
Difference introduced by an auto-swap. Can be negative, for example
"-0.001".string | null
The coin symbol of the asset that was paid, such as
USDC. This is not a fiat currency, despite the field name.string
required
Atomic units.
"0" when no snapshot exists.string
required
Atomic units.
string
required
Atomic units, signed.
string | null
ISO 8601 timestamp of the snapshot. Null when none exists.
Before the first check
An intent that has never been reconciled, because it is unpaid or because the checker has not run yet, still returns200, not 404. You get a placeholder:
Response 200
last_checked_at: null as “not yet checked”, not as a discrepancy. currency is still filled in from the intent’s deposit address when one exists.
Statuses
Errors
Note the
404 here uses the flat string envelope, unlike most 404 responses in the API, which use {"error": {"message": …, "code": …}}.
