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. 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. 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. 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. 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. 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. 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. 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.
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 takenIllustrative 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.
| Task | Your store (merchant) | Payment Gateway Kenya | Notes |
|---|---|---|---|
| Shopify store, checkout and order records | Yes | No | Shopify Payments was not available in Kenya when checked on 5 November 2026. |
| Choosing the connection route | Yes, with our team | Advises on Hosted Payment Page or API (H2H) | Both are routes into the same gateway. |
| Starting the M-Pesa pay-in | Sends order reference and amount in KES | Processes the M-Pesa request | The customer approves on their phone. |
| Sending transaction status | No | Sends postbacks to your endpoint | Postbacks go to the merchant, not the customer. |
| Verifying postbacks and updating orders | Yes | No | Never rely on the redirect alone. |
| Customer order confirmations | Yes | No | Use Shopify or your own messaging. |
| Payouts to customers | Starts them, where confirmed for the account | Processes confirmed payouts | A separate flow from pay-ins. |
| Merchant settlement | Reconciles settlements received | Sends settlements | Merchant settlements are sent on the same day (T+0). |
| Protecting API credentials | Stores credentials securely and limits access | Applies internal practices such as MFA and role-based access | Rotate credentials if staff or agencies change. |
| Reconciliation | Yes | Provides transaction status | Keep 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.
