WP Manifestindependent plugin directory
manifest / ecommerce / wordpress-mpesa-manual-plugin

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

1stars
0forks

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.zip

Description

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

  1. Download or clone this repository.

  2. Upload the plugin folder to your WordPress site under:

    /wp-content/plugins/woocommerce-manual-mpesa-gateway/
  3. Activate the plugin from WordPress AdminPlugins.

  4. Ensure WooCommerce is installed and active.

Configuration

  1. Go to WooCommerce → Settings → Payments.
  2. Locate “Lipa na M-PESA (Manual)” and click Manage.
  3. 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

  1. Customers click “Lipa na M-PESA” on the cart page.
  2. They’re taken to checkout with the M-PESA payment method automatically selected.
  3. The form prompts them for:
  • Email (for ebook delivery or contact)
  • M-PESA Transaction Code
  1. 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