WordPress setup

Add M-Pesa to your WordPress shop

Three simple steps. No coding. Works with WooCommerce, or on any page you like.

  • Your WordPress login
  • Your M-Pesa number
  • About 5 minutes
  1. Download the plugin

    Tap the button above. A small file saves to your computer — remember where it goes (it is usually in your Downloads folder).

  2. Add it to WordPress

    In WordPress, open Plugins → Add New, clickUpload Plugin, choose the file you just downloaded, then clickInstall Now and Activate.

  3. Connect your shop

    In Malipo Connect, open your setup and copy the two codes it shows you. Then, in WordPress, open Settings → Malipo and paste them in. Leave everything else exactly as it is, and click Save changes.

    That’s it — your shop can now take M-Pesa. 🎉

How do customers pay you?

Pick the one that fits your shop. You can use both.

WooCommerce

Sell from your shop

Turn it on in WooCommerce → Settings → Payments and enableM-Pesa (Malipo). At checkout, shoppers get the M-Pesa prompt on their phone.

Any page

Add a pay button

Paste this short piece of text onto any page where you want a pay form. Change100 to your price.

[malipo_pay amount="100"]

Fees are per successful payment — see the fee schedule.

Try it with KES 1

Before you go live, pay 1 shilling from your own phone. When you enter your PIN, the order shows as paid and the M-Pesa receipt is saved. If that works, everything works.

Need a hand?

I can’t find “Malipo” in Settings

The plugin might not be active yet. Open Plugins and look for “Malipo — M-Pesa Payments”, then click Activate.

I don’t see M-Pesa at checkout

Make sure it’s switched on in WooCommerce → Settings → Payments, and that your shop’s currency is Kenyan shilling (KES).

A payment isn’t showing as paid

Re-copy your signing code from Malipo Connect into Settings → Malipo. If it’s slightly off, payments can’t be confirmed.

It says the phone number is wrong

Use the customer’s M-Pesa number in the usual Kenyan way, for example0712 345 678.

Still stuck? Email [email protected] and we’ll help.