TeronaPay
Get started

From signup to your first payment.

Two ways to onboard across Kenya, Uganda, and Tanzania. Wire up the API with sandbox keys and a test mobile money payment, or go live with a no-code payment link — no developers required. Most merchants are taking real money the same day.

Choose your path

Have developers? Or want zero code?

Both paths start with the same free account — you can switch or use both at any time.

For developers

Integrate the API

One REST API for M-Pesa, card, bank, and mobile money. Sandbox keys, idempotency, signed webhooks, and a ledger built in.

See the developer path
No code

Use a hosted payment link

Share /pay/your-slug and accept mobile money without writing a line of code. Manage everything from the dashboard.

See the no-code path
For developers

Five steps to a live integration.

You can run the whole flow against the sandbox before touching production credentials.

  1. 1
    Create your account
    Sign up with your work email and business name. You land in the dashboard with a sandbox API key already issued — no waiting on approval to start building.
  2. 2
    Grab your API keys
    Open Get started in the dashboard to copy your key id and secret. You authenticate every request with HTTP Basic auth — keyId:secret.
  3. 3
    Send a test payment
    Fire a mobile money payment (STK Push) or test card charge against the sandbox and watch it move from pending succeeded in the dashboard.
  4. 4
    Register a webhook
    Point a URL at TeronaPay and we POST signed events when a payment succeeds, a refund finalizes, or a payout completes. Verify the HMAC-SHA256 signature server-side.
  5. 5
    Go live
    Add your live mobile money credentials (M-Pesa shortcode + passkey, MoMo, Airtel) and card keys in Settings, point the callback at production, and start collecting real money. Your code doesn't change.
Your first payment — STK Push
curl https://api.teronapay.com/v1/payments \
  -u "$TERONAPAY_KEY_ID:$TERONAPAY_SECRET" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d channel=mpesa_stk_push \
  -d amount=1000 \
  -d currency=KES \
  -d phone=254708374149

The customer gets an M-Pesa prompt on their phone. On confirmation, the payment flips to succeeded and your webhook fires.

No code required

Accept M-Pesa without an integration.

Perfect for shops, services, and side businesses. Everything runs from the dashboard.

  1. 01

    Create your account

    Sign up with your business name and country. No integration, no engineers — the dashboard is all you need.

  2. 02

    Claim your payment link

    Pick a URL slug in Settings and your hosted checkout goes live at /pay/your-slug — a fast, branded page that reads “Pay {your business}”.

  3. 03

    Share it with customers

    Send the link over WhatsApp, SMS, email, or a QR code on your storefront. Customers enter an amount and pay with M-Pesa, MTN MoMo, or Airtel Money.

  4. 04

    Track payments in the dashboard

    Every payment, fee, and refund shows up under Payments and Statement in real time. Issue refunds with a click.

  5. 05

    Cash out to mobile money

    Set your payout mobile money number and sweep your balance out whenever you want — no settlement bank required to start.

Sandbox & live

Test everything before you take real money.

Sandbox

Issued the moment you sign up. Run STK Push, refunds, payouts, and webhooks end-to-end against Daraja's sandbox — no real money moves, no approval needed.

Live

Add your live mobile money credentials (M-Pesa shortcode + passkey, MoMo, Airtel) and card keys in Settings to flip to live. The same API keys and code keep working — only the channel credentials change.

Ready to take your first payment?

Sign up free in 60 seconds — no setup fee, no monthly minimum. Talk to us if you want help onboarding a larger business.

Get started — go from signup to your first payment · TeronaPay