WooCommerce Manual M-PESA Gateway
This plugin collects mpesa payment details from woocommerce customers that chose to pay with mpesa till number
by David Odhiambo, WP & WooCommerce Expert · github.com/davjesse/wordpress-mpesa-manual-plugin
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/davjesse/wordpress-mpesa-manual-plugin/archive/refs/heads/master.zipDescription
The WooCommerce Manual M-PESA Gateway plugin adds a “Lipa na M-PESA” payment option to your WooCommerce store.
It allows customers to pay manually through M-PESA Till Number and enter their transaction code during checkout.
The admin receives payment details by email for manual verification.
This plugin is ideal for merchants in Kenya who want to accept M-PESA payments without API integration.
Features
- Adds a manual M-PESA payment gateway to WooCommerce.
- Displays a “Lipa na M-PESA” button on the cart page.
- Automatically redirects users to checkout with M-PESA pre-selected.
- Provides step-by-step payment instructions to customers.
- Collects and stores the M-PESA Transaction Code and email used for delivery.
- Sends admin notifications upon payment submission.
- Sets orders to “On Hold” pending manual verification.
- Responsive design for mobile checkout forms.
Installation
-
Download or clone this repository.
-
Upload the plugin folder to your WordPress site under:
/wp-content/plugins/woocommerce-manual-mpesa-gateway/ -
Activate the plugin from WordPress Admin → Plugins.
-
Ensure WooCommerce is installed and active.
Configuration
- Go to WooCommerce → Settings → Payments.
- Locate “Lipa na M-PESA (Manual)” and click Manage.
- Enable the gateway and customize:
- Title: The label shown to customers at checkout.
- Instructions: Steps or details about your M-PESA Till Number.
Example:
Follow these steps:
1. Go to M-PESA on your phone.
2. Select Lipa na M-PESA → Buy Goods and Services.
3. Enter Till Number: <your mpesa till number>.
4. Enter the total amount shown in your cart.
5. Complete payment and enter your transaction code below.
How It Works
- Customers click “Lipa na M-PESA” on the cart page.
- They’re taken to checkout with the M-PESA payment method automatically selected.
- The form prompts them for:
- Email (for ebook delivery or contact)
- M-PESA Transaction Code
- Once the order is placed:
- The order status is set to On Hold.
- The admin receives an email notification with payment details.
- The cart is cleared.
Admin Notification Example
New M-PESA Payment Received
Order ID: #1053
Name: John Doe
Email (for delivery): johndoe@gmail.com
M-PESA Code: QJ54ND872
Book(s): Advanced Go Programming, Web APIs with Go
File Structure
woocommerce-manual-mpesa-gateway/
│
├── woo-mpesa-manual.php # Main plugin file
└── README.md # Plugin documentation
Compatibility
- WordPress: 6.0+
- WooCommerce: 7.0+
- PHP: 7.4 or higher
Support
For bug reports, feature requests, or assistance:
Author: David Jesse Odhiambo
Email: jesseomolo@gmail.com
GitHub: https://github.com/DavJesse