Last Updated on June 26, 2025 by Burst Digital
So you’ve set up your business online and now you need to accept payments? Or maybe you don’t even have a Paybill or Till number yet? Don’t worry – this guide is for you.
M-Pesa has completely changed how people and businesses handle payments in Kenya. It’s not just another payment method – it’s how we do business. If you want to start accepting M-Pesa payments on your website or app, here’s the full guide.
What Is Lipa Na M-Pesa?
“Lipa na M-Pesa” means “Pay with M-Pesa.” It lets your customers pay you directly using M-Pesa from their phone, whether you’re a shop, a service provider, or running an online store.
What is the M-Pesa API and How Does It Work?
M-Pesa API (Application Programming Interface) connects your website, app, or POS system to M-Pesa so you can:
- Receive payments (C2B)
- Send money (B2C)
- Move money to your bank (B2B)
- Check payment status and customer balances
It also allows automatic handling of payments so you don’t have to verify manually.
Benefits of M-Pesa Integration
Automation: Track, verify and manage payments easily.usiness’s financial operations and enhancing the customer experience. By offering secure, efficient, and cost-effective payment options, businesses can unlock their full potential and achieve sustained growth.
- More Customers: Millions of Kenyans use M-Pesa.
- Better Cash Flow: Faster access to money.
- Lower Fees: Cheaper than card payments.
- More Sales: Easier checkout = more conversions.
How to Integrate M-Pesa Into Your Business Website Processes
To integrate your business with M-Pesa API, here are 4 steps you can follow for it to be successful;
Step 1: Ensure You Have a Paybill or Buygoods Number (Skip if You Have One)
Before proceeding with the integration process, make sure you already possess a Paybill or BuyGoods number. Here’s our full guide on acquiring a Paybill or Bugoods Till number from Safaricom. If you already have one, you can skip this step.
- Begin by requesting a Paybill or BuyGoods number, which can be easily done through the ‘M-Pesa for Business’ portal. Alternatively, you can send an email to Mpesabusiness@safaricom.co.ke or dial *234# from your Safaricom phone. Follow these steps to make your application:
- Ensure you have the required documents in PDF format, including your company’s KRA Pin certificate, a copy of company CR12 (validity 90 days), a scanned certificate of registration, front and back scanned copies of directors’ IDs or passports, M-Pesa Authorization form (download it here) signed by two directors, directors’ KRA PIN certificates, and bank details.
- Once your application is reviewed and approved, Safaricom will email you the new M-Pesa Paybill or BuyGoods number. If further clarification is needed, you will receive an email requesting additional documents. The entire process typically takes around 24 hours.
Step 2: Create an account on M-Pesa G2 Portal
- Gather the Required Documents: Ensure you have the following documents ready:
- A scanned copy of your company’s CR12 OR company registration certificate.
- A scanned copy of the elected Administrator’s ID (both front and back).
- Administrator Form Filling: Proceed with the following steps for filling out the Business Administrator Form:
- Download and fill the M-Pesa Business Administrator Form with your company’s information.
- Ensure the provided information matches the details on the CR12 and registration certificate.
- Email Submission: To initiate the account creation process from Safaricom, send an email to lipanampesa@safaricom.co.ke with the documents attached, subject “Request for Mpesa Portal Login” and include the following message:
- “To Whom It May Concern, Hello, Kindly create and provide me with the logins to the Mpesa Portal. Attached is the duly filled Business Administrator form, company registration certificate, and copies of IDs. Kind Regards.“
- Receive Login Credentials: Once you’ve submitted the necessary documents and request, Safaricom will process your application within 24-48 hours. You will receive an email containing your username and password for the M-Pesa Portal.
- Proceed to Login to the M-Pesa G2 portal and go to “Operator management”
- Create a user with the name “Business Manager”
- Set phone number (not email) to get notification via SMS.
Step 3: Go Live on Daraja Portal
For your app to go from Sandbox to Live, you’ll need to upload test cases and have M-Pesa G2 Portal details. Daraja is a powerful portal that plays a significant role in M-Pesa API integration. Here’s what it does and what you need to do:
- Daraja Portal: The Daraja portal is essential for managing M-Pesa transactions. It allows you to access and test various M-Pesa APIs before going live.
- Create a Developer Account: To utilize Daraja’s capabilities, you need to create a developer account on the Daraja portal. This account will enable you to test the APIs and ensure everything runs smoothly before launching your integration.
- Access the Developer Portal: Go to the daraja developer portal and click “Go live.”
- Verification and Setup:
- You will need to verify that you are the legitimate owner of the API before proceeding.
- The verification process includes the following substeps:
- Upload Test Case: The first step involves uploading the test case.
- Fill in Company Details: The next substeps will guide you on how to fill in the required forms:
- Verification Type: Select “Short Code.”
- Organization Name: Enter your Paybill or Till name.
- Organization Short Code: Enter either your Paybill number.
- Mpesa User Name: Use the name you created in Step 2.
- You will receive a One Time Password (OTP) sent to the number you registered in Step 1.
- Enter the received OTP and click “Submit.”
- Ensure you’ve checked all the boxes and entered the OTP, then click “Submit.”
- Switch to the Live App: Switch to the live app and utilize the live app’s secret code and Consumer Keys. It should turn to green as shown below.
Should you encounter any issues, reach out to apisupport@safaricom.co.ke. Once your Daraja app is approved, you’re all set to get started.
Step 4: Coding or No Coding?
The question of coding should not be a concern. After your application is approved, Safaricom will provide you with keys and instructions via email. We’ll delve deeper into custom coding with other programming languages in an upcoming post, for now we will discuss options for using the keys with our WordPress approved plugin.
So, if you’re running your business through a WordPress website and you want to accept payments through M-Pesa, we have a solution just for you – the Mpesa Push Toolkit for WordPress. It’s a user-friendly plugin designed by our agency to streamline the integration process. Here’s how you can integrate M-Pesa with your WordPress site using our plugin:
- Install the M-Pesa Push Toolkit for WordPress: First, you need to install our plugin on your WordPress website. You can download it directly from our plugin repository. Once installed, activate it.
- Configure the Plugin: After activation, go to your WordPress dashboard and navigate to the plugin settings. You’ll find a user-friendly interface that lets you input the necessary details:
- Live App’s Secret Code: Copy and paste the live app’s secret code that you obtained in the previous step.
- Consumer Key: Enter your Consumer Key here.
- Company Name: Fill in your company’s name or business name.
- Save Your Settings: Save the settings, and you’re all set! The plugin will work seamlessly, allowing you to accept payments from customers via M-Pesa. When someone tries to make a payment on your website, our plugin will send a push notification to the respective phone number, ensuring a smooth and secure transaction.
Why Use Our Plugin Instead of Free Ones?
The free M-Pesa Payment plugin on WP Repo doesn’t process callbacks. Ours:
- Handles callbacks: update order status automatically
- Real-time customer feedback
- Works with Till/Paybill
- Allows payment to Till/Paybill directly
- Set default order status after successful payment
- One domain license
Pricing: Ksh 8,000 one-time (including plugin $25 + setup). Get it here > https://burstdigital.co.ke/product/woocommerce-m-pesa-payment-plugin-pro-with-stk-push/
FAQs
What if I have a Till number only?
You need to write a letter to Safaricom requesting to change your settlement method from phone to bank. Attach:
- The letter (on business letterhead)
- KYC documents
- Cancelled cheque / bank letter
- Business Administrator Form
Once approved, they’ll give you a Store Number and portal login.
What if I have a Paybill?
You already have a store number, so just email Safaricom with your KYC documents and Business Admin Form to get portal logins.
How do I do live tests?
Use your live credentials on Daraja with sandbox/test URLs. The money is refunded to your M-Pesa line.
What if I don’t have a Till or Paybill?
Refer to our guide here: How to Get a Till or Paybill
What if I find the whole process hard?
Let us help! Burst Digital can:
- Help you apply
- Do the integration end-to-end
Charges:
- WordPress: KES 5,000
- PHP/Laravel: KES 15,000
- React/Node/Odoo/Apps: KES 30,000
What if I want other M-Pesa APIs like C2B or B2C?
We also offer:
- C2B integration (customer pays, you receive)
- B2C (send to customer)
- B2B (send to other businesses)
- Reversal APIs
- Transaction status, balance checks
Each additional API: KES 10,000 (Excludes Safaricom’s own API usage fees)
Need help? Call us on 0768 871 177 or email hello@burstdigital.co.ke
Let’s help you start accepting M-Pesa today.Stay tuned for our next post, where we’ll explore more customized approaches to M-Pesa integration.