Mobile wallet

M-Pesa Receipt Check

Checked

Link, reference, screenshot or QR

Sent to M-Pesa with the reference to find this receipt. Nothing is stored.

Free, no signup. Checked against M-Pesa's own receipt record, which only answers Ethiopian networks.

M-Pesa Ethiopia is Safaricom's mobile money service operating in Ethiopia. Its public receipt API answers with a small JSON envelope that carries the receipt as a PDF, which cheki decodes and reads. The endpoint is geo-blocked to Ethiopian IP addresses, similar to Telebirr. M-Pesa support is in beta until a real receipt confirms the parser.

Live on Ethiopian networksEthiopia only

Required information

  • Transaction number (required), e.g. SE12345678

Reference number format

Alphanumeric reference (typically 2 letters followed by 6+ digits)

Example: SE12345678

How to verify M-Pesa with cheki

  1. Get the transaction number from the customer's M-Pesa SMS or receipt
  2. cheki calls M-Pesa's public receipt API, decodes the receipt PDF it returns and reads the payment details
  3. If the server can't reach M-Pesa (geo-block), cheki provides a direct receipt URL

How M-Pesa receipt verification works

The M-Pesa receipt endpoint is: https://m-pesabusiness.safaricom.et/api/receipt/getReceipt?trxNo={REFERENCE}

Placeholders, error shapes and gotchas are in the M-Pesa endpoint reference.

This is a public URL that returns a HTML page containing the official transaction data. No authentication is required.

Note: This endpoint is geo-blocked to Ethiopian IP addresses. If cheki's server cannot reach it, use the fallback URL or self-host on an Ethiopian network.

Who uses M-Pesa verification

  • Shops confirming M-Pesa payments
  • Online stores verifying M-Pesa transactions
  • Businesses reconciling M-Pesa deposits
  • Developers integrating M-Pesa verification via API

Verifying M-Pesa via API

cheki provides a free REST API for M-Pesa verification:

POST https://cheki.et/api/verify

Request body: { "bank": "mpesa", "reference": "SE12345678" }

See the API documentation for full details.

M-Pesa geo-blocking

Like Telebirr, M-Pesa's endpoint restricts access to Ethiopian and Kenyan IP addresses. cheki does not try to get around the block: when the endpoint won't answer, it hands you the receipt link to open yourself. For reliable verification, self-host cheki on an Ethiopian server.

Checking M-Pesa payment status

M-Pesa Ethiopia publishes transaction data at https://m-pesabusiness.safaricom.et/api/receipt/getReceipt?trxNo={REFERENCE}. When someone sends you a payment via M-Pesa, a receipt is generated at this URL. cheki fetches the receipt, parses it, and tells you whether the payment is real, who sent it, and for how much. This takes 2 to 10 seconds.

What information you need

To check a M-Pesa payment, ask the sender for the transaction number from their receipt. That's all you need, no account number required.

  • Transaction number (e.g. SE12345678)
  • If accessing from outside Ethiopia, cheki provides a fallback link

Common M-Pesa payment verification scenarios

M-Pesa payment verification is used by merchants, delivery services, and businesses across Ethiopia. Common scenarios include confirming a customer has actually paid before releasing goods, verifying a delivery payment before handing over a package, and reconciling end-of-day bank transfers.

  • Shops confirming M-Pesa payments
  • Online stores verifying M-Pesa transactions
  • Businesses reconciling M-Pesa deposits
  • Developers integrating M-Pesa verification via API

More about M-Pesa receipts

Frequently asked questions