Skip to main content

Complete Your Integration

Every production payment system needs reliable monitoring and reconciliation. Inventi Payment Platform provides real-time webhooks for status tracking and Nostro statements for end-of-day verification.
Your reconciliation toolkit:
  • Webhooks for real-time status updates
  • Transaction APIs for on-demand queries and backfill
  • Nostro statements (CAMT.052/053/054) for end-of-day verification

Webhooks

Receive real-time notifications as transactions progress through the payment lifecycle.

Transaction APIs

Query transaction data, retrieve status history, and download evidence documents.

Reference Data

Nostro Statements

Reconcile your records with bank statements in standard CAMT formats.

Business Requirements

Use the Transaction Status Change webhook to update your local transaction state in near real-time. This is your primary signal for all status changes.
Poll APIs only for reconciliation and recovery scenarios, not for real-time tracking.
If your webhook endpoint fails, the platform retries until success and can hold subsequent notifications until the blocked one is delivered.
Design your receiver for fast 2xx responses. Process heavy work asynchronously.
You may receive the same event more than once due to retries. Upsert by trx_id and store status transitions append-only.
Even with reliable webhooks, implement scheduled reconciliation using:
  • Transaction list API for backfill
  • Nostro statements (camt.052/053/054) for verification
Maintain both for different use cases:
  • current_status for fast reads and UI display
  • status_history for audit trails and investigations

Architecture Overview

Data Architecture

SourceUse Case
WebhooksReal-time status updates
Transaction APIsBackfill, investigation, reconciliation
Nostro statementsEnd-of-day reconciliation, audit

Transaction Statuses

StatusDescription
CreatedTransaction initiated
To signAwaiting signature
SignedSignature applied
AcceptedAccepted by clearing
CompletedSuccessfully settled

Data Model

transactions
table
required
One row per trx_id with current status
transaction_status_history
table
required
Append-only status transitions with timestamps
webhook_deliveries
table
Optional audit log of received webhooks
statement_runs
table
Reconciliation job tracking
KeySourceUsage
trx_idPlatform transaction IDPrimary identifier
end_to_end_idCustomer referenceSecondary lookup

Reconciliation Flow

Run reconciliation on a schedule to catch missed webhooks and verify records against bank statements.

Statement Types

CAMT.052

Intraday StatementOn-demand balance and transaction report

CAMT.053

End-of-Day StatementDaily closing balance and all transactions

CAMT.054

NotificationsIndividual debit/credit notifications

Matching Transactions

Match statement entries to platform transactions using these fields in priority order:
1

trx_id

Platform transaction ID — most reliable matching key
2

end_to_end_id

Customer reference — use when trx_id unavailable
3

Amount + IBANs + date

Fallback matching for edge cases
4

Remittance info

Last resort when other fields don’t match

Integration Checklist

1

Implement webhook receiver

Create an endpoint that responds 2xx immediately and processes asynchronously
2

Store transactions with history

Maintain current status and append-only status history for each trx_id
3

Build transaction sync

Use the List Transactions API for reconciliation and backfill
4

Enable investigation tools

Implement access to transaction details, status history, and XML messages
5

Schedule reconciliation

Run periodic jobs to fetch Nostro statements and verify records

Ready for Production

With reconciliation in place, you’ve completed the core integration. Review your work and prepare for go-live: