Omnix
All docs
integrations

Setting up M-Pesa STK push

Daraja credentials, sandbox testing, and going live.

Omnix uses Safaricom Daraja to power M-Pesa Till and Paybill payments. You need a registered M-Pesa business account and Daraja credentials.

What you'll need

  • Business shortcode (your Till or Paybill number)
  • Consumer key (from Daraja portal)
  • Consumer secret (from Daraja portal)
  • Passkey (from Daraja portal — different from your password)

Step by step

1. Sign up at developer.safaricom.co.ke 2. Create an app under "My Apps" — give it any name, e.g. "Omnix POS" 3. Copy the consumer key and consumer secret 4. In the Daraja portal go to "STK Push" → "Get LipaNaMpesaPasskey" → copy the passkey 5. In Omnix: Settings → Integrations → M-Pesa, paste all four 6. Enter sandbox first to test, then switch to live when verified

Sandbox accepts test phone +254708374149 with PIN 12345 — useful for verification before going live.

Common errors

  • "Invalid credentials" — double check passkey vs password. They're different. Passkey looks like a long base64 string.
  • "Shortcode mismatch" — your Till or Paybill must match the one registered against the Daraja app.
  • STK push never arrives — check the customer's phone is on, has signal, and isn't on Do Not Disturb. M-Pesa STK respects phone state.

Was this helpful?

If something is wrong or missing, WhatsApp the owner. We update the docs every time a real question comes in.