Skip to content

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)

ParamDescription
referenceYour original reference on /inbound.
transaction_idMoko'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

StatusMeaning
SubmittedAccepted, awaiting telco outcome.
SuccessfulDelivered to beneficiary.
FailedTelco declined; wallet auto-refunded.
ReversedPost-successful reversal (rare; triggers a follow-up callback).
HoldOn ScreenShield hold. Wait for compliance review.

Errors

CodeHTTPMeaning
RMT-1005400Neither reference nor transaction_id provided.
RMT-404404No 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.

Operated by SODOTECH SARL (RCCM CD/KNG/RCCM/24-B-00910). Documentation is versioned alongside the API. Confidential — for integration partners.