Mobile wallet
M-Pesa Receipt Check
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.
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
- Get the transaction number from the customer's M-Pesa SMS or receipt
- cheki calls M-Pesa's public receipt API, decodes the receipt PDF it returns and reads the payment details
- 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