Skip to main content
Reconciliation is the process of proving that every payment your system intended matches what actually happened to the money. The API supports it with three tools: your own identifiers on every object, a complete snapshot in every event, and lists you can filter by date.

Tag objects with your identifiers

Set reference and metadata when you create payouts, at the batch level, the item level or both:
Both fields are returned on every read and every event, so you can match an Infinity object to your record without a lookup table. Store Infinity’s IDs alongside your own as well; they’re the fastest way to retrieve an object later.

Record what was charged

Book these payout fields in your ledger: For INR payouts, rate and payee_amount are populated at settlement; read them from the payout.paid event.

Follow funds through events

Each event carries the object as it was at that moment, including your reference and metadata. Delivery is at-least-once and unordered, so deduplicate on the event ID and rely on the object’s status.

Close a period

  1. List the payouts paid in the period:
  2. Repeat for failed and returned, and list GET /deposits for the same dates.
  3. Match each object to your records by reference.
  4. Check that, per wallet, deposits minus the debit_amount of sent payouts, plus funds returned, explain the change in the wallet’s total.
created filters on creation time. A payout created on 31 October may be paid on 1 November, so at period boundaries check status and updated_at as well.

Recover missed events

Events are retained for 30 days. After downtime, list the events since the start of the outage and process the ones you haven’t recorded: