Scan-to-pay QRSigned webhooksMulti-businessWooCommerce pluginDirect to your account

Where Ethiopian businessesget paid

Share a checkout link, receive money straight into your own Telebirr or bank account, and let your website know the moment it lands.

Non-custodial · No license needed · Free while in beta

Transactions
42 total · 39 settled · ETB 128,450.00 received
1 payment awaiting your confirmation
order-1047ETB 480.23pending
order-1046ETB 1,250.61paid
order-1045ETB 320.14paid
order-1044ETB 2,100.42paid

Works with the accounts you already have

TelebirrCBEM-PesaBOAAwashDashenAmoleCBE Birr

Four steps from order to settled

No settlement accounts, no waiting for payouts. The money is yours the second your customer sends it.

1

Create a payment

Your site calls the API (or the WooCommerce plugin does it) and gets a hosted checkout link.

2

Customer pays you

They pick Telebirr, CBE or any account you added, scan your QR, and send the exact tagged amount.

3

You confirm

The payment shows up in your dashboard. Spot the tagged amount in your statement and confirm in one click.

4

Your app knows

The customer is redirected back, and a signed webhook tells your system the order is paid.

Everything a small business needs. Nothing it doesn't.

Your accounts, your money

Payments land directly in your Telebirr, CBE, M-Pesa or bank account. MeskelPay never holds a single Birr.

Scan-to-pay QR checkout

Upload your payment QR and customers scan to pay directly from their Telebirr or bank app.

Unique amount tagging

Every payment carries a unique amount and memo, so you can match it in your statement in seconds.

Multiple businesses

Run your shop, your side hustle and your agency from one account — each with its own accounts, keys and webhooks.

Signed webhooks

HMAC-signed charge.success events with retries, plus a verify API for your thank-you page.

WooCommerce in minutes

Install the plugin, paste your key, and your WordPress store accepts Ethiopian payments today.

An API developers already know

MeskelPay speaks the same dialect as Chapa: initialize a transaction, redirect to the checkout URL, verify by reference, listen for webhooks. Most existing integrations switch over by changing two constants.

POST /api/v1/transaction/initialize
Authorization: Bearer MSKSECK-…

{
  "amount": 250,
  "tx_ref": "order-1042",
  "return_url": "https://yoursite.com/thanks"
}

→ {
  "status": "success",
  "data": {
    "checkout_url": "https://www.meskelpay.et/pay/…"
  }
}

Honest by design

We never claim to move money we can't move. You confirm every payment against your own statement; secrets are hashed, webhooks are signed, and the whole flow is documented in plain language.

Start getting paid today

Create your account, add a payout account, share your first link.

Get MeskelPay free