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.