Setting up your PayHero account
A complete walkthrough - from creating your PayHero account to generating API keys and connecting it to Jasiyo. Open PayHero in another tab and follow along.
Open app.payhero.co.ke in a new tab and keep it side-by-side with this guide. You'll work through 9 short steps - most take a minute or two each. The only slow step is waiting for PayHero to approve your KYC, which usually takes a few hours.
9
Steps
~10 min
Active work
30 Mins
KYC approval
When to use PayHero
PayHero is the right choice if you collect M-Pesa payments but don't have direct Daraja API access from Safaricom. This is common when:
- โ Your Paybill is issued by a bank (Equity, KCB, Co-op, NCBA, etc.)
- โ You have a Safaricom Till but haven't been approved for Daraja
- โ You have a Safaricom Paybill but Daraja approval is taking too long
Create your PayHero account
Head to app.payhero.co.ke and click Sign up. You'll be asked for a username and email address, then walked through a short multi-step form for your business details.
Complete KYC verification
Once signed in, you'll land on your dashboard. A red Complete KYC button sits at the top right - click it and submit the requested documents (business registration certificate, director ID, etc.).
Add a payment channel
A payment channel is the destination where your customers' money lands. In the left sidebar, click Payment Channels โ Add Channel. You'll see three channel types - pick the one that matches what you already have.
Bank account
Pick this if your Paybill is issued by a bank (Equity, KCB, Co-op, NCBA). Select your bank from the dropdown and enter your account number.
Safaricom Paybill
Pick this if you have a Safaricom Paybill but no Daraja credentials. Enter your Paybill number to register it.
Safaricom Till
Pick this if you have a Safaricom Till without Daraja access. Enter your Till number to register it.
Edit your profile
Click your avatar in the top right, then Profile โ Edit profile. Fill in the basic information carefully - these fields are required before PayHero will activate live payouts.
Fields to fill in
Disable SMS & WhatsApp notifications
Still inside the profile editor, scroll down to the Notifications section. Set both SMS and WhatsApp to Disabled, then click Save changes.
Why this matters
Jasiyo already sends payment receipts to your customers via your own SMS gateway. If PayHero's notifications stay enabled, your customers receive two SMS messages for every payment - and you pay for both. Disabling these saves real money on every transaction.
Generate API keys
In the left sidebar, click API Keys, then the green + New API Key button at the top right.
Name your key
Enter any descriptive name - for example Jasiyo Integration. This is just a label for your reference.
Generate the key
Click Generate API Key. PayHero will display an API Username and an API Password.
Copy both values
Copy both the API Username and API Password into a safe place - you'll paste them into Jasiyo in Step 9.
Top up service tokens
PayHero charges a small per-transaction fee from a prepaid service token balance. You need a non-zero balance before STK Push requests can be processed.
Go to the Dashboard, find the Service tokens card, and click the green Top up โ button. Enter your M-Pesa phone number and an amount - KES 500 is a sensible starting balance for testing. You'll receive an STK Push prompt on your phone; enter your M-Pesa PIN to complete.
Wait for activation
Once PayHero reviews and approves your KYC submission, your dashboard status changes. Only after this can you receive live payments.
A red Complete KYC button shows on your dashboard. STK Pushes will not work yet.
A green Active badge appears at the top right. You can now receive live payments.
Connect PayHero to Jasiyo
With your PayHero account active and API keys in hand, you can now connect it to Jasiyo.
Go to Payments in Jasiyo
In your ISP dashboard, click Payments in the sidebar.
Click Connect PayHero
Find the PayHero card and click Connect.
Paste your API credentials
Paste the API Username and API Password you copied in Step 6. Jasiyo uses these to authenticate with PayHero and fetch your channels.
Select your channel
Click Fetch Channels. Jasiyo will list every channel registered on your PayHero account. Pick the one you set up in Step 3.
Save
Click Save. The callback URL is configured automatically - you don't need to register anything on PayHero's side.
What happens when a customer pays
- 1Customer initiates payment - via STK Push from Jasiyo or by paying directly to your Paybill/Till
- 2PayHero receives the M-Pesa payment on your channel
- 3PayHero sends a webhook to Jasiyo with the payment details
- 4Jasiyo matches the payment to the customer using their account reference
- 5Customer's subscription is renewed and the router queues a re-enable command
- 6Customer is back online within ~30 seconds
- 7An SMS receipt is sent to the customer via your Jasiyo SMS gateway
Troubleshooting
โ Channel list doesn't load in Jasiyo
Your API Username and API Password are different from your PayHero login credentials. Generate them under API Keys (Step 6) and make sure you copied both values exactly - no leading or trailing spaces.
โ STK Push fails with 'Insufficient tokens'
Your PayHero service token balance has hit zero. Top up from the dashboard (Step 7), then increase your Low balance alert threshold so this doesn't catch you off guard again.
โ Status still shows 'Complete KYC' after submitting
PayHero caches the status in your session. Sign out and back in to force a refresh. If it still shows Complete KYC after 24 hours, contact PayHero support via the Raise a Support Ticket button on the left sidebar.
โ Customer pays but the subscription isn't renewed
Check the account reference the customer used. It must be their Jasiyo account number (the JSY-XXXXXX code). For STK Push initiated from Jasiyo, this is set automatically - for direct Paybill payments, the customer must enter it manually.
โ Getting duplicate SMS receipts
PayHero notifications are still enabled. Go back to Step 5 and set both SMS and WhatsApp to Disabled in your profile.
You're all set ๐
Your PayHero account is now connected to Jasiyo. Create a test customer, trigger an STK Push of KES 10 to confirm everything is wired up correctly, then onboard your real customers.