Prerequisites
Before you can set up production credentials, you need an approved Paybill or Till from Safaricom.Personal Till and Paybill accounts cannot be used for M-Pesa API integrations.
You must apply for a business account.
Step 1: Choose Between Paybill or Till
Your choice depends on how you plan to use M-Pesa:- Only collecting online payments via STK push? → Use a Till
- Need to track offline transactions or require unique account references? → Use a Paybill
We recommend applying for a Paybill for long-term flexibility. It supports
everything a Till does, plus more.
Step 2: Apply for Paybill or Till
Watch the Process First
Watch this overview from Safaricom before you start:Required Documents
Prepare these documents before applying:- Paybill Application Form
- Tariff Guide
- Account Opening Form
- Admin Account Creation Form
- Administrator Letter (Sample)
- Bank letter or canceled cheque
- KRA PIN Certificate
- Copy of ID/Passport
Application Methods
Choose one of these methods to submit your application:- Business Portal (Recommended)
- Email Application
1
Visit the M-PESA Business Portal
Go to MPESA Business Portal.
2
Create Account or Log In
Create an account or log in with existing credentials.
3
Upload Required Documents
Upload all documents in PDF format. Ensure you’ve stamped and signed
everything properly.
4
Submit and Wait
Submit your application. Safaricom processes applications within 72
hours. No response in 24 hours? Check your documents and reapply.
Step 3: Create Daraja Production App
Once your Paybill or Till is approved, you need to create a production app in the Daraja portal.Keep two browser tabs open: one for the Moflay
Dashboard and one for your Daraja
Dashboard to make the setup process easier.
1
Access Daraja Dashboard
- Navigate to the Daraja Website. 2.
Click on
Dashboard
in the navigation bar. 3. You’ll be redirected to the Daraja Dashboard.
2
Create Production App
- Click on
My Apps
in the sidebar. 2. Click onCreate App
. 3. Enter your Application Name. 4. Select Lipa na M-Pesa Online (Production). 5. Click onCreate App
to finish.
3
Copy Credentials
- Once created, your production app will be listed. 2. Copy the Consumer Key and Consumer Secret.
Step 4: Configure Credentials in Moflay
Now configure your production credentials in the Moflay Dashboard.1
Navigate to Credentials Page
Go to the Moflay Dashboard Credentials
page.
2
Switch to Production Environment
Make sure you’re in the Production environment (not Sandbox).
3
Enter Your Credentials
- Paste the Consumer Key from your Daraja production app. 2. Paste the Consumer Secret from your Daraja production app. 3. Enter your Paybill/Till Number (Business Shortcode). 4. Enter your Passkey (provided by Safaricom after approval). 5. Select your Business Type (Paybill or Till).
4
Save Configuration
Click
Save
to store your production credentials.Your Passkey and final production credentials will be sent to you by Safaricom
via email after your Paybill/Till application is approved.
Step 5: Handle M-Pesa Callbacks
To receive real-time payment notifications, you need to configure callback URLs. See the Handling Callbacks guide for detailed instructions on setting up webhook endpoints.Troubleshooting
Application Not Approved
- Check documents: Ensure all forms are properly filled, stamped, and signed
- Verify email: Make sure you’re using a valid business email
- Contact support: Reach out to Safaricom at M-PESABusiness@safaricom.co.ke
Credentials Not Working
- Verify environment: Ensure you’re using production credentials in the production environment
- Check Passkey: Confirm you’re using the correct Passkey from Safaricom’s email
- Test connection: Use the Moflay Dashboard to test your credentials
Next Steps
- Handle M-Pesa Callbacks - Configure webhook endpoints for payment notifications
- SDK Examples - Start integrating payments into your application