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

KeyWhy it matters
merchant_order_idYour order, subscription, or invoice ID.
invoice_public_idThe SwapSS Pay invoice shown to support and API callers.
webhook_event_idThe delivery event you dedupe before updating your system.
status_pollThe fallback API check used when webhook delivery is delayed.
ledger_exportThe 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

  1. Export paid, underpaid, overpaid, late, review, refunded, and expired invoices.
  2. Compare invoice status with your local order status.
  3. Compare webhook deliveries with your dedupe table.
  4. Run a status poll for invoices that are still not final.
  5. Compare balance movements with the merchant balance ledger.
  6. Escalate mismatches before granting access, shipping goods, or closing finance.

Related docs: balance, webhooks, payment statuses, invoices, and idempotency.