Crypto payment reconciliation
Reconciliation is the bridge between checkout, finance, support, and merchant balance history. Store your own order ID, SwapSS invoice ID, webhook event ID, last polled status, and ledger export reference so every payment can be explained later.
Minimum reconciliation keys
| Key | Why it matters |
|---|---|
merchant_order_id | Your order, subscription, or invoice ID. |
invoice_public_id | The SwapSS Pay invoice shown to support and API callers. |
webhook_event_id | The delivery event you dedupe before updating your system. |
status_poll | The fallback API check used when webhook delivery is delayed. |
ledger_export | The finance export or balance snapshot used for closing books. |
Recommended local record
json
{
"merchant_order_id": "order_1042",
"invoice_public_id": "INV-0123456789",
"expected_amount": "125.00",
"asset": "USDT",
"chain": "tron",
"last_invoice_status": "paid",
"webhook_event_id": "evt_20260604_001",
"status_poll": "2026-06-04T12:20:00Z",
"ledger_export": "settlement_batch_2026_06_04"
}Daily close checklist
- Export paid, underpaid, overpaid, late, review, refunded, and expired invoices.
- Compare invoice status with your local order status.
- Compare webhook deliveries with your dedupe table.
- Run a status poll for invoices that are still not final.
- Compare balance movements with the merchant balance ledger.
- Escalate mismatches before granting access, shipping goods, or closing finance.
Related docs: balance, webhooks, payment statuses, invoices, and idempotency.