What payment gateways work for Kenyan small businesses

A payment gateway is the tool that lets your website customers pay you — it connects your site to the bank system and handles the money transfer. In Kenya, your main options are M-Pesa integration (mobile money), card processors like Stripe or Pesapal, and bank-specific solutions. Which one you choose depends on whether your customers pay by phone, card, or bank transfer, and how much you can spend on setup and monthly fees.

Most Kenyan small businesses start with M-Pesa because nearly everyone has a phone and a Safaricom account. But if you sell to businesses or international customers, you'll need card processing too. The good news: you don't have to pick just one. Many gateways work together, so you can offer M-Pesa, cards, and bank transfer all on the same checkout page.

Key Takeaways

  • M-Pesa is the fastest route for most Kenyan businesses because your customers already have it on their phones and adoption is nearly universal.
  • Card payment processors like Stripe, Pesapal, and Flutterwave charge a percentage of each transaction (usually 2–3.5%) plus sometimes a fixed fee per payment.
  • Bank transfers and USSD codes work but are slower and require customers to leave your site, so they have higher abandonment rates.
  • You'll need a business bank account and tax registration (KRA PIN) to set up most gateways; some also require proof of business registration.
  • Integration difficulty ranges from plug-and-play (Shopify apps) to requiring a developer, depending on your website platform and the gateway.

M-Pesa: the default for Kenyan customers

M-Pesa is the payment method most Kenyans reach for first. Safaricom's mobile money service has over 50 million users, and customers can pay from their phone in seconds without leaving your site. For you, M-Pesa payments settle into your business account within 24 hours, usually faster.

To accept M-Pesa, you integrate the M-Pesa API (the technical connection) into your website. Safaricom calls this "Daraja" — it's free to join, but you need a Safaricom business account and a Till Number or Paybill number. The setup takes a few days once Safaricom approves you. If you're not technical, you can use a third-party gateway (like Pesapal or Flutterwave) that handles the M-Pesa connection for you — they charge a fee but handle the integration work.

The catch: M-Pesa works best for domestic customers. If you're selling to people outside Kenya, they can't use it, so you'll need a second payment method.

Card processors: Stripe, Pesapal, and Flutterwave

Card payment processors let customers pay with Visa or Mastercard — either their own card or a card they've linked to their M-Pesa account. All three major options in Kenya charge a percentage of each sale plus sometimes a small fixed fee. Stripe charges around 3.5% plus 10 shillings per transaction. Pesapal and Flutterwave are similar, typically 2.5–3.5% depending on your volume and the payment method.

Stripe is the most widely used globally and integrates cleanly with most website builders (Shopify, WooCommerce, Webflow). Pesapal and Flutterwave are built for African markets, so they understand local payment methods better and often have faster local support. Pesapal has been in Kenya longer and has strong relationships with Kenyan banks. Flutterwave is newer but growing fast and handles more currencies if you sell across Africa.

All three require you to verify your business — you'll upload your KRA PIN, business registration, and bank account details. Approval usually takes 2–5 business days. Once live, money from card sales goes into your bank account, though settlement timing varies: Stripe settles daily or weekly depending on your account type, while Pesapal and Flutterwave typically settle within 24 hours.

Bank transfers and USSD: slower but familiar

Some customers prefer to pay directly from their bank account or using USSD codes (the *123# menu on their phone). These methods work but have real drawbacks: the customer has to leave your site, type in details manually, and the payment takes longer to confirm — sometimes hours. That friction means you lose sales.

Bank transfer is useful as a backup option for large orders or B2B sales, where speed matters less than certainty. USSD codes (offered by gateways like Pesapal) let customers pay without internet, which helps in areas with poor connectivity, but again, they're leaving your checkout to do it.

If you do offer these, use a gateway that bundles them with M-Pesa and cards on one checkout page. That way customers see all options and pick the one that works for them.

Comparing costs and settlement times

GatewayPayment MethodsTransaction FeeSettlement TimeSetup Requirement
M-Pesa (direct)M-Pesa onlyNone (Safaricom takes a cut from the customer)24 hoursSafaricom business account, Till/Paybill number
StripeCards, M-Pesa via card3.5% + 10 KES per transactionDaily or weeklyKRA PIN, business registration, bank account
PesapalM-Pesa, cards, bank transfer, USSD2.5–3.5% depending on method24 hoursKRA PIN, business registration, bank account
FlutterwaveM-Pesa, cards, bank transfer, USSD2.5–3.5% depending on method24 hoursKRA PIN, business registration, bank account

How to choose based on your customers

Start by asking: who are your customers? If they're mostly in Kenya and pay by phone, M-Pesa is your foundation. Add a card processor if you want to capture customers who don't have M-Pesa or who prefer cards. If you sell internationally or to other African countries, Stripe or Flutterwave gives you that reach.

For a new business, start with one gateway and add others as you grow. Most small businesses begin with Pesapal or Flutterwave because they bundle M-Pesa and cards together, so you're not managing multiple integrations. Once you're processing enough volume, you might switch to Stripe for lower fees or add M-Pesa direct to cut out the middleman.

If your website is on Shopify, WooCommerce, or another platform with built-in payment apps, check what's available in the app store first — it's usually the easiest route. If you're on a custom site, you'll need a developer to integrate the API, or you'll use a gateway with a simple plugin or hosted payment page.

What you need to set up a payment gateway

Every gateway in Kenya requires the same core documents: a KRA PIN (tax registration number), proof of business registration (certificate of incorporation or business permit), and a business bank account in your name or your company's name. Some also ask for proof of address (utility bill) and a copy of your ID.

The application process is online for all three major gateways. You upload documents, they verify within 2–5 business days, and you get access to a dashboard where you can see transactions, payouts, and reports. Keep your documents current — if your business registration or tax status changes, update it in the gateway's system.

One note: if you're a sole trader (self-employed), some gateways treat you differently than a registered company. Pesapal and Flutterwave are more flexible with sole traders. Stripe prefers registered businesses but will work with sole traders if you have a KRA PIN and bank account.

Integration: what it takes to get live

If your site is on Shopify or WooCommerce, integration is usually a few clicks — you install the app, enter your gateway credentials, and you're done. Shopify has Stripe, Pesapal, and Flutterwave in its app store. WooCommerce has plugins for all of them.

If you have a custom website or a platform without built-in payment apps, you'll need a developer. They'll use the gateway's API documentation to connect your checkout to the payment system. This takes a few hours to a few days depending on complexity. Most gateways provide sample code and support to help developers, so costs are usually reasonable.

Before going live, test the payment flow end-to-end. All gateways provide a test mode where you can process fake transactions without real money moving. Use it. Test on mobile too — most Kenyan customers shop on phones, so your checkout has to work there.

Frequently Asked Questions

Can I use more than one payment gateway at the same time?

Yes. Many businesses use Pesapal or Flutterwave for M-Pesa and cards, then add Stripe for international cards or better rates at higher volumes. Your checkout can show all options, and customers pick which one to use. The tradeoff is managing multiple dashboards and reconciling payouts from different sources.

What happens if a customer's payment fails?

The gateway shows the error (insufficient funds, wrong PIN, network timeout) and the customer can retry. You don't get charged if the payment fails. Most gateways let you set up automatic retry logic so customers aren't stuck. Check your gateway's dashboard for failed transactions and reach out to customers if needed.

How long does money take to reach my bank account?

M-Pesa direct integration usually settles within 24 hours. Pesapal and Flutterwave settle within 24 hours. Stripe settles daily or weekly depending on your account type. Check your gateway's settlement schedule in the dashboard — it's usually shown on the payout page.

Do I need a business license to accept payments online?

You need a KRA PIN (tax registration) and a business bank account. Most gateways require both. A business license or registration certificate helps but isn't always mandatory — it depends on the gateway and your business type. Check with your local county government for your specific requirements.

What if my gateway account gets suspended?

Gateways suspend accounts for fraud, chargebacks, or policy violations. If it happens, contact their support team immediately — most suspensions are temporary while they investigate. To avoid it, keep your business information current, monitor for chargebacks, and follow the gateway's terms of service. Have a backup gateway set up so you can keep taking payments while it's resolved.