Instant payment verification for Telebirr and CBE by parsing receipt data.

Live Demo — Telebirr

Test the API by entering a Telebirr transaction ID below.

Telebirr API Documentation

v1.0
GET /verify/telebirr/{transactionId}

Replace {transactionId} with the 10-character transaction ID from the receipt URL.

Example Request

GET http://localhost:3000/verify/telebirr/DBN54S90BX

Example Response

{
  "transactionId": "DBN54S90BX",
  "payerName": "Shamil Nasir Seid",
  "payerTelebirrNo": "2519****5143",
  "creditedPartyName": "Ethio telecom",
  "creditedPartyAccountNo": "111222",
  "transactionStatus": "Completed",
  "invoiceNo": "DBN54S90BX",
  "paymentDate": "23-02-2026 19:50:47",
  "settledAmount": "1275.00 Birr"
}

Response Fields

  • transactionId The unique 10-character transaction ID
  • payerName Full name of the individual making the payment
  • payerTelebirrNo Masked phone number of the payer
  • creditedPartyName Name of the receiving merchant or party
  • creditedPartyAccountNo Account or shortcode of the credited party
  • transactionStatus Current status (e.g., "Completed")
  • invoiceNo Associated invoice or reference number
  • paymentDate Timestamp of the transaction
  • settledAmount Total amount settled, formatted with currency

Live Demo — CBE

Test the API by pasting a full CBE receipt link below.

CBE API Documentation

v1.1
GET /verify/cbe?url={link}

Replace {link} with a URL-encoded CBE receipt link. All of CBE's link formats are supported:

  • apps.cbe.com.et https://apps.cbe.com.et:100/?id=FT26189X24XP93675361
  • apps.cbe.com.et (branch) https://apps.cbe.com.et:100/BranchReceipt/FT26191M8MB8&93675361
  • mbreciept.cbe.com.et https://mbreciept.cbe.com.et/v2-hfHCxzWciV1bVGaz3hQ7
  • mbreciept.cbe.com.et (short) https://mbreciept.cbe.com.et/fHCxySZJAcKRgkzb2x

A bare receipt id (the classic ?id= value on its own, e.g. FT26189X24XP93675361) is also accepted via ?id=, or as a path segment on the legacy GET /verify/cbe/{id} route.

Example Request

GET http://localhost:3000/verify/cbe?url=https%3A%2F%2Fapps.cbe.com.et%3A100%2F%3Fid%3DFT26189X24XP93675361

Example Response

{
  "id": "FT26189X24XP93675361",
  "payerName": "AYUB NASIR SEID",
  "payerAccount": "1****5361",
  "receiverName": "NUREDIN MEHEMMED JABIR",
  "receiverAccount": "1****9208",
  "paymentDate": "7/8/2026, 5:04:00 PM",
  "referenceNo": "FT26189X24XP",
  "reason": "Pay done via Mobile",
  "transferredAmount": "20,000.00 ETB",
  "commission": "0.00 ETB",
  "vat": "0.00 ETB",
  "totalAmount": "20,000.00 ETB",
  "amountInWords": "ETB  Twenty Thousand & Zero cents"
}

Response Fields

  • id The receipt ID that was looked up
  • payerName Full name of the individual making the payment
  • payerAccount Masked account number of the payer
  • receiverName Name of the receiving party
  • receiverAccount Masked account number of the receiver
  • paymentDate Timestamp of the transaction
  • referenceNo VAT invoice / transaction reference number
  • reason Type of service the payment was made for
  • transferredAmount Amount transferred, formatted with currency
  • commission Service charge applied to the transaction
  • vat 15% VAT applied on the commission
  • totalAmount Total amount debited from the payer's account
  • amountInWords Transferred amount spelled out in words

Note: reason and amountInWords are null when the link resolves via the mbreciept.cbe.com.et API, which doesn't expose those fields.