Get transaction
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.
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.
Required API key scope: transactions:read.
Request example
GET /api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01 HTTP/1.1Host: api.edgepro.siteX-API-Key: <your-api-key>X-Deripay-API-Version: 2Accept: application/jsonpartnerAPIKeyX-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.
application/json- response
success*booleanmessage*stringdata*curl -X GET 'https://api.edgepro.site/api/mpesa/transactions/507f1f77bcf86cd799439011?connection_id=conn_example_01' \ -H 'X-API-Key: <your-api-key>' \ -H 'X-Deripay-API-Version: 2' \ -H 'Accept: application/json'{ "success": true, "message": "Transaction status retrieved successfully", "data": { "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" }}List transactions GET
Get up to 20 of this connection’s newest transactions. This endpoint has no pagination parameters. Use statistics for payment totals and trends.
Monitor transaction GET
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.