Shopify Payments is not available in Kenya. To accept M-Pesa on your Shopify online store, install a third-party gateway like Pesapal, IntaSend, or DPO Pay. For in-store M-Pesa (STK Push at your counter), Shopify POS does not handle this natively: use WebpinnPOS alongside Shopify to manage in-person M-Pesa payments with automatic confirmation.
Why Shopify Payments doesn't work in Kenya
Shopify Payments, Shopify's own built-in payment processor, is only available in a specific list of countries, and Kenya is not on that list as of 2026. This means Kenyan merchants cannot use Shopify's native checkout payment processing. Instead, you must integrate a third-party payment provider, which Shopify supports through its external payment gateway system.
There is a cost implication. When you use a third-party gateway instead of Shopify Payments, Shopify charges an additional transaction fee on every sale: 2% on the Basic plan, 1% on the Shopify plan, and 0.5% on Advanced. This fee is separate from whatever the gateway itself charges. Factor this into your payment processing cost calculations when choosing a plan.
Online M-Pesa via third-party gateways
Several payment gateways operating in Kenya integrate with Shopify and support M-Pesa online payments. Here are the main options:
| Gateway | M-Pesa support | Card support | Notes |
|---|---|---|---|
| Pesapal | Yes, STK Push | Visa, Mastercard | Widely used in Kenya; KES settlement |
| IntaSend | Yes, STK Push | Visa, Mastercard | Kenya-built; developer-friendly API |
| DPO Pay | Yes | Yes, multi-currency | Covers multiple African markets |
| Paystack | No (Kenya) | Yes | M-Pesa not available on Kenyan Paystack accounts |
Each gateway requires you to create a merchant account, go through a verification process (which typically involves your business registration documents and bank account details), and then install their app or configure their credentials in Shopify.
How to install and configure a gateway on Shopify
- Create a merchant account with your chosen gateway (Pesapal, IntaSend, or DPO Pay) and complete their verification process.
- In your Shopify admin, go to Settings then Payments. Scroll past "Shopify Payments" to the Third-party payment providers section and click Choose third-party provider.
- Search for your gateway provider. If they have an official Shopify app, follow the app installation flow. If not, select "Other" and enter the gateway's credentials manually.
- Enter the API credentials provided by your gateway (API key, merchant ID, or similar). These are found in your gateway merchant dashboard.
- Enable the gateway and place a test transaction using the gateway's sandbox credentials. Confirm the payment appears in both your Shopify order list and your gateway dashboard.
- Switch to live mode in both the gateway settings and Shopify once testing is successful.
Important: Do not deactivate your gateway's test mode until you have successfully completed at least one end-to-end test order, including a test M-Pesa STK Push that confirms and an order that appears in your Shopify admin as paid.
In-store M-Pesa (STK Push) via WebpinnPOS
Your Shopify online store and your physical shop counter have different M-Pesa needs. Online M-Pesa is handled by the gateway at the Shopify checkout. In-store M-Pesa is a different flow: the cashier enters the customer's phone number (or the customer scans a QR code), an STK Push is sent to the customer's Safaricom line, and the customer enters their PIN to confirm.
Shopify POS does not natively send STK Push requests. It can record an M-Pesa payment as a custom tender after the fact, but the push-and-confirm automation requires a dedicated system. WebpinnPOS handles this natively. The cashier initiates payment from WebpinnPOS, the STK Push goes to the customer's phone, and WebpinnPOS automatically confirms receipt when Safaricom's callback fires: no manual checking of M-Pesa messages required.
WebpinnPOS also syncs stock with Shopify, so the in-store sale reduces your Shopify inventory automatically.
Recommended setup for a Kenya Shopify business
For a business that operates both online and in-store in Kenya, the recommended configuration is:
- Online payments: Pesapal or IntaSend installed on Shopify. Handles online M-Pesa and card payments on your Shopify checkout.
- In-store payments: WebpinnPOS for M-Pesa STK Push and cash. Syncs all in-store sales back to Shopify inventory automatically.
- Card payments in-store: A bank card terminal (Equity, KCB, or similar) operating independently. Record card sales as a custom tender in your in-store POS.
This setup gives your customers M-Pesa as a payment option on every channel, keeps your stock numbers accurate across online and in-store, and avoids the need for any manual reconciliation between the two channels.
Frequently asked questions
Handle in-store M-Pesa through WebpinnPOS
STK Push with automatic confirmation, stock sync to Shopify, and full sales reporting: built for Kenyan shops.
Start Free Trial