Reconciliation closes and settles the current batch of transactions — the end-of-day operation that totals what was processed and hands it off for settlement. It's a single call with one meaningful parameter: the reconciliation type.
Prerequisite: a live session.
The call
viewModelScope.launch {
clientSDK.sendReconciliationRequest(
RetailerMessageArguments.ReconciliationRequestMessageArguments(
reconciliationType = RTRReconciliationType.SALERECONCILIATION
)
)
}
reconciliationType— anRTRReconciliationType.SALERECONCILIATIONreconciles the sale batch. See the API reference for other reconciliation types.
There is an optional reconciliation-period identifier (poiReconciliationId) for referencing a specific past period; most integrations omit it and reconcile the current batch.
Reading the result
when (message) {
is SuccessRetailerReconciliationResponse -> { /* batch totals / settlement OK */ }
is ErrorRetailerReconciliationResponse -> { /* reconciliation failed */ }
}
A successful response carries the reconciliation totals. Handle the error case as well — reconciliation can fail if the terminal can't reach the host.
When to call it
Reconciliation is typically run once per business day, at close. Some deployments have the terminal reconcile automatically on a schedule; check your terminal configuration before building a manual trigger, so you don't double-reconcile.
Related
- Guide: taking a payment — the transactions reconciliation settles.
- How the message model works — handling the response super-type.
- API reference (
sdk-doc.zip) — the fullRTRReconciliationTypeset and optional fields.