Retrieve a transaction
Non-terminal transactions are live-reconfirmed with M-Pesa while you poll — at most
once every 10 seconds per transaction — so a
success shows up here within seconds of
the payment settling, with no callback or background job required. list responses come
straight from our database and may lag; poll this endpoint for freshness.Response
200 OK — same transaction object shape as Create STK Push:
404 NOT_FOUND is returned when the UUID does not exist or belongs to another
merchant — the API never leaks cross-tenant data.
Status lifecycle
Pending transactions are confirmed from three directions: your polls (live, deduped to
once per 10s), the signed STK callback from M-Pesa, and a background poll chain — and if
no result ever arrives the chain gives up after 30 checks and marks the transaction
expired. So every transaction reaches a terminal state, and your
webhook always fires exactly once per terminal transition.List transactions
string
Optional filter — one of
initiating, pending, processing, success, failed,
cancelled, expired, reversed.integer
default:50
How many transactions to return (newest first).
Response
200 OK