Monitor transaction
Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {"ts":1791795600}; timeout contains {"message":"reconnect"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {"success":false,"error":{"code":"NOT_FOUND","message":"The requested resource was not found for this connection."}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events.
Receive server-sent events for one transaction. status and complete events contain the transaction object. heartbeat contains {"ts":1791795600}; timeout contains {"message":"reconnect"}. Reconnect to the same URL after a timeout. Once the stream opens, HTTP stays 200. A fatal lookup error ends the stream with an error event containing the standard JSON error response, such as {"success":false,"error":{"code":"NOT_FOUND","message":"The requested resource was not found for this connection."}}. Deripay retries temporary lookup failures within the stream. Reconnecting returns current state without replaying earlier events.
Required API key scope: transactions:read.
Request example
GET /api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01 HTTP/1.1Host: api.edgepro.siteX-API-Key: <your-api-key>X-Deripay-API-Version: 2Accept: text/event-streampartnerAPIKeyX-API-Key<token>transaction_id*stringconnection_id*stringThe connection_id returned when you authorized this customer.
X-API-Key*stringYour API key. Send requests from your server.
X-Deripay-API-Version*stringSelects the response and error format documented here. Without it, the same URL returns the original format.
Accept?stringSuccessful request.
response?stringtext/event-streamcurl -X GET 'https://api.edgepro.site/api/mpesa/transactions/507f1f77bcf86cd799439011/monitor?connection_id=conn_example_01' \ -H 'X-API-Key: <your-api-key>' \ -H 'X-Deripay-API-Version: 2' \ -H 'Accept: text/event-stream'"event: status\ndata: {\"id\":\"507f1f77bcf86cd799439011\",\"connection_id\":\"conn_example_01\",\"type\":\"deposit\",\"payment_method\":\"mobile_money\",\"status\":\"pending\",\"country\":\"KE\",\"network\":\"mpesa\",\"local\":{\"amount\":\"700\",\"currency\":\"KES\"},\"settlement\":{\"amount\":\"5.00\",\"currency\":\"USD\"},\"idempotency_key\":\"order-1001\",\"account_login_id\":\"CR123456\",\"next_action\":null,\"failure\":null,\"created_at\":\"2026-10-12T09:00:00Z\",\"updated_at\":\"2026-10-12T09:00:00Z\",\"completed_at\":null}\n\nevent: complete\ndata: {\"id\":\"507f1f77bcf86cd799439011\",\"connection_id\":\"conn_example_01\",\"type\":\"deposit\",\"payment_method\":\"mobile_money\",\"status\":\"completed\",\"country\":\"KE\",\"network\":\"mpesa\",\"local\":{\"amount\":\"700\",\"currency\":\"KES\"},\"settlement\":{\"amount\":\"5.00\",\"currency\":\"USD\"},\"idempotency_key\":\"order-1001\",\"account_login_id\":\"CR123456\",\"next_action\":null,\"failure\":null,\"created_at\":\"2026-10-12T09:00:00Z\",\"updated_at\":\"2026-10-12T09:00:00Z\",\"completed_at\":\"2026-10-12T09:00:00Z\"}\n\n"Get transaction GET
Get the current transaction status. This request can refresh an unresolved payment’s outcome. A completed status confirms Wallet funding for a deposit or payout for a withdrawal.
List Wallet–Options transfers GET
Get up to 20 of this connection’s newest transfers. Filter by unresolved or by a linked deposit_transaction_id. Payment transaction lists and SSE streams do not include transfers.