Checklist: what to confirm before you set up Shopify M-Pesa

Settle these points in writing before your developer starts work. Each one affects how orders are created, marked paid and reconciled. If any answer is unclear, ask our team before you commit to a design.

  • Payment method: Payment Gateway Kenya supports M-Pesa only in Kenya. Plan your checkout around M-Pesa and do not assume other methods are available.
  • Connection route: choose between the Hosted Payment Page and the API (H2H). Both are ways into the same gateway, not separate products, and H2H is not white-label.
  • How the chosen route links to your Shopify checkout: ask our team how this works for your store, as there is no app or automatic install to rely on.
  • Postback endpoint: the URL on your side that will receive transaction status, and who will build and maintain it.
  • Order reference: how each Shopify order number will be matched to its M-Pesa transaction.
  • Payouts: whether paying customers is confirmed for your account, if you need it. This is a separate flow from pay-ins.
  • Settlement: merchant settlements are sent on the same day (T+0). Plan your finance process around when funds are credited to your account, not when settlement is sent.
  • Pricing: pricing is custom, so talk to sales for a quote based on your store.

If you are still comparing options for your store, our overview of Shopify payment gateways in Kenya sets out the wider choices. For background on the method itself, see our M-Pesa gateway page.

Steps in order: from Shopify order to paid order

Illustrative flow. The sequence below shows a typical M-Pesa pay-in for an online order. The exact screens and calls depend on the connection route you choose, so confirm the details with our team.

  1. 1. The customer places an order

    The customer completes checkout on your Shopify store and chooses M-Pesa. The order is created as unpaid and given a reference you can match later.

  2. 2. Your store starts the payment

    Your store sends the customer to the Hosted Payment Page or makes an API (H2H) request with the order reference and amount in KES. Both routes lead into the same gateway.

  3. 3. The customer approves on their phone

    The customer receives an M-PESA Express (Lipa na M-PESA Online) prompt and enters their M-Pesa PIN. Safaricom documentation and the market often call this prompt 'STK Push'. PayBill and Till are separate transaction types.

  4. 4. The gateway sends a postback

    Once the transaction has a final status, a postback with that status is sent to your endpoint. This is the signal your system should act on.

  5. 5. Your system verifies and updates the order

    Your endpoint checks the postback, matches it to the order reference and amount, and marks the order paid or failed. Only then should fulfilment begin.

  6. 6. You notify the customer

    Send your own order confirmation from Shopify or your own systems. Postbacks go to you, the merchant, and are not a customer notification service.

  7. 7. You reconcile

    Match paid orders against transaction records and against merchant settlements. Keep pay-ins, any payouts and settlements in separate lines of your reconciliation.

Postbacks: never trust the redirect

Build your postback endpoint so that receiving the same status twice does not create a second shipment or a duplicate record. Log every postback you receive, so finance and support can check what happened to a disputed order.

Illustrative flow: handling a postback
on postback received:
  verify the postback came from the gateway
  find order by order_reference
  if order not found: log and stop
  if order already marked paid: log and stop (duplicate)
  if status == successful and amount_kes == order total:
    mark order paid
    release for fulfilment
  else:
    mark order payment failed or pending review
  log the postback and the action taken

Illustrative flow only. This is pseudocode, and the field names are placeholders. Ask our team for the actual postback format and verification method for your account.

Who does what: a table of responsibilities

Most setup problems come from unclear ownership. Agree who handles each item before launch, and keep this table with your project notes.

Typical split of responsibilities for a Shopify M-Pesa setup (confirm details for your account)
TaskYour store (merchant)Payment Gateway KenyaNotes
Shopify store, checkout and order recordsYesNoShopify Payments was not available in Kenya when checked on 5 November 2026.
Choosing the connection routeYes, with our teamAdvises on Hosted Payment Page or API (H2H)Both are routes into the same gateway.
Starting the M-Pesa pay-inSends order reference and amount in KESProcesses the M-Pesa requestThe customer approves on their phone.
Sending transaction statusNoSends postbacks to your endpointPostbacks go to the merchant, not the customer.
Verifying postbacks and updating ordersYesNoNever rely on the redirect alone.
Customer order confirmationsYesNoUse Shopify or your own messaging.
Payouts to customersStarts them, where confirmed for the accountProcesses confirmed payoutsA separate flow from pay-ins.
Merchant settlementReconciles settlements receivedSends settlementsMerchant settlements are sent on the same day (T+0).
Protecting API credentialsStores credentials securely and limits accessApplies internal practices such as MFA and role-based accessRotate credentials if staff or agencies change.
ReconciliationYesProvides transaction statusKeep pay-ins, payouts and settlements separate.

Shopify M-Pesa questions from Kenyan merchants

These are the questions that come up most often when Kenyan store owners plan M-Pesa on Shopify. For anything specific to your account, ask our team.

Can I use Shopify Payments in Kenya?

When we checked on 5 November 2026, Kenya was not on Shopify's official Shopify Payments country list. Check Shopify's current list before you plan, and set up your M-Pesa route separately.

Is there a Payment Gateway Kenya app for Shopify?

We do not promise any app, plugin or automatic install. Ask our team how the Hosted Payment Page or the API (H2H) route can connect to your Shopify store.

Which payment methods can I offer through Payment Gateway Kenya in Kenya?

M-Pesa only. Plan your Shopify checkout around M-Pesa pay-ins. Payouts to customers are available where confirmed for your account.

Why should I not mark an order paid when the customer returns to my store?

A return to your thank-you page does not prove the customer approved the payment. Mark the order paid only after a verified postback confirms a successful transaction for that order and amount.

Will the postback tell my customer that their payment worked?

No. Postbacks send transaction status to you, the merchant. They are not a customer notification service, so send your own order confirmation from Shopify or your own systems.

When are merchant settlements sent?

Merchant settlements are sent on the same day (T+0). This describes when settlement is sent, not when funds are credited to your account, so plan your reconciliation around the credit date.

What success rate should I plan for?

Our overall transaction success rate is 85%, measured as successful transactions divided by all transactions. It is a product-wide figure, not a guarantee for any individual store.

How much does it cost?

Pricing is custom, so talk to sales. Existing merchants can add supported payment methods at no extra connection fee, as the number of enabled methods does not change the connection price.

Shopify M-Pesa setup in Kenya: next step