ReconbankerReconbanker
Guides

Ingest payments

How to tell Reconbanker which payments you are expecting (reconcile mode).

Ingest payments

In reconcile mode, Reconbanker needs to know which payments you are expecting so it can match new bank transactions against them. This page describes how to feed those payments in.

If your account runs in passthrough mode you can skip this guide. Passthrough does not need a list of expected payments. Reconbanker just forwards every transaction.

How it works

Reconbanker calls an HTTP endpoint on your side at a regular interval and reads the list of payments you are currently expecting. You decide what that list contains; Reconbanker just consumes it.

This means:

  • You do not push payments into Reconbanker. Reconbanker pulls them from you.
  • You only need to expose one read-only endpoint.
  • If a payment disappears from your list (because you cancelled it on your side), Reconbanker will mark the corresponding request as cancelled automatically.

The address of this endpoint goes into Account settings → Pending orders endpoint.

The request Reconbanker will send

Reconbanker calls your endpoint with either GET or POST depending on the Polling method setting. The simplest setup is GET:

GET https://your-system.example.com/reconbanker/pending
Authorization: Bearer YOUR_TOKEN
Accept: application/json

If you prefer POST (for example, to send a filter in the body), set the polling method to POST and provide a JSON body in the settings:

POST https://your-system.example.com/reconbanker/pending
Authorization: Bearer YOUR_TOKEN
Content-Type: application/json
Accept: application/json

{ "account": "main-uyu" }

The Authorization header uses the polling auth token you saved in account settings. The scheme is either Bearer or Api-Key.

The response your endpoint must return

Your endpoint must reply with JSON. Either a bare array:

[
  { "external_id": "ORDER-1", "amount": 1500.00, "currency": "UYU", "name": "Juan Perez" },
  { "external_id": "ORDER-2", "amount": 500.50,  "currency": "UYU", "name": "Ana Lopez" }
]

Or an object with a data property:

{
  "data": [
    { "external_id": "ORDER-1", "amount": 1500.00, "currency": "UYU", "name": "Juan Perez" }
  ]
}

Required fields per payment

FieldWhat it is
external_idYour own unique id for the payment. Reconbanker uses it as the key. Use the order or invoice number from your system.
amountThe exact amount you are expecting. No tolerance.
currencyThe ISO currency code (UYU, USD, ARS, etc.).
nameThe name of the person or company who is supposed to send the transfer. Reconbanker uses this to score the sender on the bank statement.

Extra fields are ignored. Payments missing any of the required fields are skipped.

How often Reconbanker calls you

By default Reconbanker polls every few minutes. See Polling for the cadence.

Adding and removing payments

  • To add a payment, simply include it in the response the next time Reconbanker polls.
  • To cancel a payment, stop including it in the response. Reconbanker will detect the disappearance and mark the corresponding request as cancelled.
  • To update a payment - there is no direct update. If you need to change the amount or currency, cancel the old external_id and add a new one. Once a payment is matched it cannot be changed.

Idempotency

Reconbanker keeps track of which external_id values it has already seen for each account. Returning the same external_id twice is safe. Reconbanker will not create a duplicate.

Tips

  • Keep the response small. Only list payments that are actually still expected. Once a payment is matched on Reconbanker's side, you can stop returning it. You can also keep returning it for a few cycles for safety because duplicates are ignored.
  • The name field is the single most useful hint for matching. The closer it is to what the payer will actually use, the better Reconbanker matches.

Next

  • Webhooks - what Reconbanker sends back when a match happens.
  • View results - how to verify everything is wired up.