Tracepos Developer HubTracepos Developer Hub
Home
Guide
POS & Integrations
API Reference
Webhooks
Home
Guide
POS & Integrations
API Reference
Webhooks
  • POS Terminals & Hardware

    • Smart POS Terminal Integration Guide
  • Platform Integrations

    • E-Commerce & Omnichannel Storefronts
    • Payment Gateways & Settlement Reconciliation
    • Offline & Edge POS Synchronization

Payment Gateways & Settlement Reconciliation

Integrate payment aggregators, virtual accounts, bank transfers, and automated reconciliation into Tracepos.


Supported Rails & Mechanisms

Tracepos supports flexible payment flows for African and global payment providers:

Rail / ProviderTypical WorkflowSettlement Method
PaystackInline Checkout, Dedicated NUBAN Virtual Accounts, POS TerminalAutomatic via webhook callback / reference check
InterswitchWebPAY, Quickteller, SmartPOS TillDirect till reference & webhook reconciliation
Kuda BusinessDynamic Virtual Accounts, Sell Tokens, Countertop POSPartner API token & webhook status update
Opay / MoniepointIn-store POS Terminal, Agent Cash InflowBatch settlement & POST /payments ingestion
Direct Bank TransferIn-store cashier verification of customer credit alertverifyPaystackTransfer or Cashier Ledger entry

1. Dynamic Virtual Accounts (DVA) & Pay-with-Transfer

For retail stores offering Pay With Transfer at the checkout counter:

  1. Customer requests to pay by transfer.
  2. The integration requests a dynamic virtual account number from your payment provider (e.g. Kuda or Paystack) tied to the order unique ID.
  3. The customer completes the bank transfer from their mobile banking app.
  4. The provider fires a webhook when funds land in the merchant's account.
  5. Your webhook handler posts payment to Tracepos:
curl -X POST "https://app.tracepos.net/api/v1/public/payments" \
  -H "X-Tracepos-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Tracepos-Secret-Key: YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "cust_123",
    "payment_type": "in",
    "amount": 25000.00,
    "payment_mode_id": "BANK_TRANSFER",
    "date": "2026-09-30",
    "reference": "NIP-0902837194829104",
    "invoices": [
      {
        "order_id": "sale_ord_99482",
        "amount": 25000.00
      }
    ],
    "notes": "Verified via Bank Transfer Webhook"
  }'

2. Settling Outstanding Customer Debts (A/R)

Customers with credit accounts can settle partial or complete balances across multiple historical invoices:

  1. Query outstanding customer invoices:
curl -X GET "https://app.tracepos.net/api/v1/public/payments/user-invoices?user_id=cust_123" \
  -H "X-Tracepos-Public-Key: YOUR_PUBLIC_KEY" \
  -H "X-Tracepos-Secret-Key: YOUR_SECRET_KEY"
  1. Allocate payment across the returned unpaid invoices:
{
  "user_id": "cust_123",
  "payment_type": "in",
  "amount": 100000.00,
  "payment_mode_id": "CHEQUE_OR_TRANSFER",
  "invoices": [
    { "order_id": "ord_old_01", "amount": 60000.00 },
    { "order_id": "ord_old_02", "amount": 40000.00 }
  ]
}

Tracepos automatically marks ord_old_01 as fully paid and reduces ord_old_02's due balance, updating the customer ledger and double-entry accounts receivable balances synchronously.

Prev
E-Commerce & Omnichannel Storefronts
Next
Offline & Edge POS Synchronization