Skip to main content
Use status checks as a fallback when you cannot rely on webhooks (temporary outages, firewalls, or delayed deliveries).

Endpoint

POST /payments-tsq-service/v1/query/payments Auth: Use the Bearer token for the product you are querying (Payouts, Collections, or Remittance).

Request body

Provide one of the following fields:
  • transaction_reference
  • payment_uuid
  • request_uuid

Example (by transaction reference)

{ "transaction_reference": "TXN123654671" }

Example (by payment UUID)

{ "payment_uuid": "8363546214883574601" }

Example response (processing)

{
  "status": "200.100",
  "code": "ACCEPTED",
  "description": "Accepted for processing",
  "data": {
    "amount": 1000,
    "total_charges": 0,
    "total_amount": 1000,
    "transaction_reference": "TXN123654671",
    "payment_uuid": "8363546214883574601",
    "payment_reference": "1RJITP5HLL",
    "state": "processing",
    "time_received": "2025-04-04T06:15:10.102993Z",
    "last_updated": "2025-04-04T06:16:44.442001Z"
  }
}

Best practices

  • Poll only when necessary; prefer webhooks.
  • Use backoff (5s -> 10s -> 30s -> 60s) and stop after a sensible max window.
  • Cache last known status to reduce repeated queries.