GET /transaction/status
GET /api/v1/remittance/transaction/status?reference={reference}Poll a transaction by reference. Useful when you missed a callback, or for a sync-style flow.
Auth: Basic merchant_code:merchant_secret
Query params (one required)
| Param | Description |
|---|---|
reference | Your original reference on /inbound. |
transaction_id | Moko's IMT-IN-… id. |
Response (200 OK)
json
{
"status": "success",
"data": {
"reference": "TXN_001",
"transaction_id": "IMT-IN-20260814-A1B2C3-D4E5",
"status": "Successful",
"amount": 10.00,
"currency": "USD",
"customer_number": "243812345678",
"operator": "mpesa",
"subscriber_name": "MARIE KABILA",
"telco_reference": "MPESA-XY7ZW",
"created_at": "2026-08-14T14:00:00.000000",
"completed_at": "2026-08-14T14:00:23.000000"
}
}Status values
| Status | Meaning |
|---|---|
Submitted | Accepted, awaiting telco outcome. |
Successful | Delivered to beneficiary. |
Failed | Telco declined; wallet auto-refunded. |
Reversed | Post-successful reversal (rare; triggers a follow-up callback). |
Hold | On ScreenShield hold. Wait for compliance review. |
Errors
| Code | HTTP | Meaning |
|---|---|---|
RMT-1005 | 400 | Neither reference nor transaction_id provided. |
RMT-404 | 404 | No transaction found for this merchant. |
Rate
Free — poll as needed. For long-lived transactions (e.g. on Hold), prefer waiting for the callback rather than polling every second.
