Paystack Integration
Connect Paystack to Jasiyo to accept M-Pesa STK Push without a dedicated Paybill — good for ISPs just getting started with automated payments.
When to use Paystack
Use Paystack if you don't yet have a Safaricom Paybill or bank Paybill. Paystack provides M-Pesa STK Push via their own infrastructure — customers pay to Paystack's numbers rather than your dedicated Paybill.
This is a good option for ISPs just getting started who want to automate payments immediately without waiting for a Paybill to be set up. Once you have your own Paybill, you can switch to the Daraja integration.
Setup in Jasiyo
Create a Paystack account
Sign up at paystack.com and complete business verification to enable M-Pesa payments on your account.
Get your API keys
In your Paystack dashboard, go to Settings → API Keys & Webhooks. Copy your Public Key and Secret Key. Use the Live keys, not Test keys, for production.
Go to Payments in Jasiyo
Go to Settings → Payments in your ISP dashboard.
Click Connect Paystack
Find the Paystack card and click Connect. Paste your Public Key and Secret Key.
Set account reference
Set a short account reference label that will appear on customer M-Pesa prompts (e.g. your business name).
Save
Click Save. Jasiyo will show you a Webhook URL — copy it, you need it for the next step.
Add the webhook in Paystack (required)
Back in your Paystack dashboard, go to Settings → API Keys & Webhooks. Make sure the Live tab is selected, then paste the URL Jasiyo gave you into Live Webhook URL and click Save changes.
Two things to watch: the Live Webhook URL field is the one you want, not the Live Callback URL directly above it — and Test mode has its own separate box, so make sure you are on the Live tab.
Payment flow
- 1Jasiyo sends an STK Push request to Paystack with the customer's phone number and amount
- 2Paystack sends the M-Pesa payment prompt to the customer's phone
- 3Customer enters their M-Pesa PIN and approves
- 4Paystack notifies Jasiyo via webhook
- 5Jasiyo matches the payment to the customer and renews their subscription
- 6Router re-enable command is queued — customer is back online within 30 seconds
Limitations vs Daraja
| Feature | Paystack | Daraja (own Paybill) |
|---|---|---|
| C2B (customer pays independently) | ❌ Not supported | ✅ Supported |
| STK Push | ✅ Supported | ✅ Supported |
| Transaction fees | Paystack rates apply | Safaricom rates apply |
| Requires a Paybill | ❌ No | ✅ Yes |
| Customer pays to own Paybill | ❌ Pays to Paystack numbers | ✅ Pays to your Paybill |
| Setup complexity | Low — just API keys | Medium — Daraja registration required |
