Integrating M-Pesa Donations Into Your NGO’s Website

For an NGO operating in Kenya, accepting donations online should be as simple as possible for the donor. A visitor who wants to support a programme should not have to search through several pages, copy an M-Pesa number into their phone, switch between screens, and wonder whether the payment was received.

Integrating M-Pesa donations directly into your NGO’s website can create a much smoother experience.

Instead of simply displaying an M-Pesa Paybill or Till number, your website can provide a dedicated donation form where supporters select an amount, enter relevant details, and initiate an M-Pesa payment from the same digital experience.

For organisations that receive donations from individuals, local businesses, diaspora supporters, corporate partners, or campaign participants, this can make the website an important part of the fundraising process.

This guide explains how M-Pesa donation integration works, the options available to Kenyan NGOs, what a good donation experience should look like, and what your organisation should consider before commissioning the development.

Why M-Pesa matters for Kenyan NGO websites

M-Pesa is deeply integrated into everyday financial transactions in Kenya. For many local supporters, paying through mobile money is more familiar than entering card details into an unfamiliar website.

That makes M-Pesa particularly relevant when designing donation journeys for Kenyan audiences.

A donation page that asks a Kenyan visitor to enter credit card information may introduce unnecessary friction. An M-Pesa-based donation journey can feel considerably more familiar.

For an NGO, the benefits can include:

  • A payment method familiar to Kenyan donors
  • Faster donation processing
  • A more convenient mobile donation experience
  • Easier reconciliation of online donations
  • Better visibility into donation campaigns
  • The ability to connect donations with a specific programme or appeal
  • Automated payment confirmation
  • A more professional digital fundraising experience

The important point is that adding an M-Pesa number to a website is not the same thing as properly integrating M-Pesa into the website.

M-Pesa number vs M-Pesa website integration

There are several levels of M-Pesa functionality an NGO can place on its website.

Option 1: Display an M-Pesa Paybill or Till number

The simplest approach is to place information such as:

Paybill: 123456
Account: DONATE
Amount: Enter your preferred amount

This is inexpensive and easy to implement.

However, the donor has to leave the website or use another device to complete the transaction. The NGO may also have limited ability to automatically associate the payment with the particular donation form, campaign or donor.

This can still be useful as a backup payment method, particularly for donors who prefer manual M-Pesa payments.

Option 2: Donation form with payment instructions

A more structured approach allows the donor to enter:

  • Donation amount
  • Name
  • Email address
  • Phone number
  • Campaign or programme
  • Optional message

The website then displays the appropriate M-Pesa payment instructions.

This provides a better user experience and allows the organisation to collect useful information about the donation.

However, unless the payment itself is integrated with the payment system, the website may still need some mechanism for confirming that the payment actually happened.

Option 3: M-Pesa API integration

For a more sophisticated donation platform, the website can communicate with M-Pesa programmatically.

Safaricom’s Daraja platform provides APIs that allow developers to connect M-Pesa functionality to web and mobile applications.

A common approach is to use an M-Pesa payment prompt, where the donor enters their phone number and the website initiates a payment request. The donor then confirms the transaction on their phone.

The website can receive the payment response and update the donation record accordingly.

This creates a much more integrated experience.

How an M-Pesa donation integration works

A typical donation journey might look like this:

  1. A visitor arrives at the NGO’s donation page.
  2. They select a suggested donation amount or enter a custom amount.
  3. They provide their M-Pesa phone number.
  4. They optionally provide their name and email address.
  5. They select the programme or campaign they want to support.
  6. They click Donate.
  7. The website initiates the M-Pesa payment request.
  8. The donor receives the payment prompt on their phone.
  9. The donor enters their M-Pesa PIN.
  10. M-Pesa processes the transaction.
  11. The payment result is sent back to the website.
  12. The website records the donation.
  13. The donor sees a confirmation message.
  14. The organisation can send a receipt or acknowledgement email.

The exact implementation depends on the payment architecture and the NGO’s M-Pesa account configuration.

The important principle is that the website should not treat a donor’s form submission as proof of payment. The system should verify the payment through the appropriate payment response before marking the donation as successful.

What should an NGO donation page include?

The payment integration is only one part of a successful donation experience.

A well-designed donation page should answer three questions quickly:

Why should I donate?

What will my donation support?

How can I donate right now?

1. A clear fundraising message

Explain what the donation supports.

For example:

Your contribution helps provide learning materials and educational support to children in underserved communities.

The message should be specific rather than simply saying:

Support our work.

2. Suggested donation amounts

Instead of presenting only an empty amount field, consider providing suggested amounts.

For example:

  • KSh 500
  • KSh 1,000
  • KSh 2,500
  • KSh 5,000
  • Custom amount

Suggested amounts make the decision easier and can also encourage higher-value donations.

3. Custom donation amount

Always consider allowing donors to enter their own amount.

Different supporters have different financial capacities, and the donation form should not unnecessarily restrict them.

4. M-Pesa phone number

If the integration uses an M-Pesa payment prompt, the donor will generally need to provide the relevant mobile number.

The form should clearly explain why the number is required and how it will be used.

5. Donor information

Depending on the organisation’s needs, the form might request:

  • Full name
  • Email address
  • Phone number
  • Organisation
  • Country
  • Donation purpose

Do not ask for information simply because it is technically possible to collect it.

Every additional field increases friction.

6. Programme or campaign selection

For organisations running multiple programmes, allowing donors to select where they want their contribution directed can be useful.

For example:

What would you like to support?

  • Education
  • Healthcare
  • Food security
  • Youth programmes
  • Emergency response
  • General operations

The organisation should ensure that its accounting and donor reporting processes can actually support the distinctions presented on the website.

7. Donation confirmation

After a successful payment, the donor should receive an immediate confirmation.

A good confirmation page might include:

Thank you for your donation.

Your contribution of KSh 2,500 has been received.

You can also provide:

  • Transaction reference
  • Donation date
  • Campaign supported
  • Organisation contact information
  • Downloadable or emailed receipt, where appropriate

A confirmation page is particularly important because it reassures the donor that the payment was successful.

Should your NGO use M-Pesa STK Push?

For many Kenyan donation websites, an M-Pesa payment prompt can provide a particularly convenient experience.

Rather than asking donors to remember a Paybill number and manually navigate through their phone’s M-Pesa menu, the website can initiate the payment process.

The donor then receives a prompt and authorises the transaction.

From a UX perspective, this reduces the number of steps required to complete the donation.

However, the technical implementation should be designed carefully. The website needs to handle successful transactions, failed transactions, cancelled requests, timeouts, duplicate attempts and other possible payment states.

The importance of payment confirmation

One of the most important technical considerations is distinguishing between:

Payment initiated

and

Payment successfully completed

These are not the same thing.

For example, a donor might click the Donate button and receive an M-Pesa prompt but fail to complete the payment.

The website should not immediately record the donation as successfully received simply because the payment request was initiated.

A properly designed integration should process the appropriate payment response and update the donation status accordingly.

Useful statuses can include:

  • Pending
  • Successful
  • Failed
  • Cancelled
  • Expired
  • Requires verification

This becomes particularly important as donation volumes increase.

Keep a proper donation database

An NGO should not rely exclusively on M-Pesa transaction messages or manual spreadsheets to manage online donations.

The website can maintain a structured donation record containing information such as:

Field Example
Donation ID DON-2026-00125
Amount KSh 5,000
Donor Jane Wanjiku
Phone 07XXXXXXXX
Email jane@example.com
Campaign Education Programme
Status Successful
Transaction reference ABC123XYZ
Date 11 September 2026

This can make reconciliation and reporting substantially easier.

The organisation can also build administrative tools around the donation database.

For example, authorised staff could filter donations by:

  • Date
  • Campaign
  • Amount
  • Payment status
  • Donor
  • Programme
  • Transaction reference

Donation reporting and reconciliation

Payment integration should not end when the donor sees a success message.

The NGO also needs a reliable back-office process.

Finance and programme teams may need to answer questions such as:

  • How much was donated this month?
  • How much was donated to each campaign?
  • Which transactions are pending?
  • Which donations failed?
  • What was the total value of M-Pesa donations?
  • Which transactions need reconciliation?
  • Which donors require receipts?
  • How much was raised through a particular fundraising campaign?

A good donation system should therefore connect the public-facing donation form with internal reporting.

This is especially valuable for organisations that need to demonstrate financial accountability to boards, donors, partners and auditors.

M-Pesa donations and donor receipts

Consider what happens after someone makes a donation.

An automated system can potentially send a confirmation email containing:

  • Thank-you message
  • Donation amount
  • Date
  • Transaction reference
  • Campaign or programme
  • Organisation details

For organisations that issue formal receipts or acknowledgements, the website can also integrate this process into the donation workflow.

However, the organisation should establish its accounting and tax treatment separately from the technical website implementation. The website developer should not determine whether a particular contribution qualifies for a tax-related treatment.

Data protection considerations

Donation forms can collect personal information such as names, telephone numbers and email addresses.

That means data protection should be considered from the beginning of the project.

Kenya’s Data Protection Act, 2019 establishes requirements around the processing of personal data, while the Office of the Data Protection Commissioner oversees the country’s data protection framework.

An NGO should therefore consider:

  • What personal information is being collected?
  • Why is it being collected?
  • How will it be used?
  • How long will it be retained?
  • Who can access it?
  • Which third parties process it?
  • How is it protected?
  • Is the donor being given appropriate privacy information?
  • Is the organisation collecting information that it does not actually need?

The donation form should not become an excuse to collect excessive personal information.

For example, if an anonymous donation is possible, requiring a donor’s full postal address may be unnecessary.

Your website should also have an appropriate privacy policy explaining how donor information is handled.

Security considerations for M-Pesa donation websites

Payment-related websites require more than attractive design.

At a minimum, the development team should consider:

HTTPS

The entire donation journey should use HTTPS.

Secure API credentials

M-Pesa API credentials and other sensitive configuration values should never be exposed in frontend code or committed to a public source-code repository.

Server-side payment verification

Payment information should be processed and verified server-side rather than trusting values submitted by the browser.

Input validation

Donation amounts, phone numbers, email addresses and other submitted data should be validated.

Duplicate transaction protection

The system should be designed to prevent a transaction from being recorded multiple times because of repeated callbacks or users refreshing a page.

Access control

Donation records should only be accessible to authorised staff.

Backups

Donation data should be backed up according to the organisation’s broader data retention and business continuity requirements.

Should donors be allowed to donate anonymously?

This depends on the NGO’s fundraising and reporting requirements.

An anonymous donation option can reduce friction for supporters who do not want to provide their identity.

However, organisations may need donor information for:

  • Receipts
  • Donor communication
  • Campaign reporting
  • Relationship management
  • Regulatory or accounting processes

The right approach depends on the organisation’s specific requirements.

If anonymous donations are permitted, the website should clearly explain what information is optional and what information is required to process the payment.

Should your website support recurring donations?

Recurring giving can be valuable for NGOs because predictable monthly contributions can provide more reliable funding.

A donation strategy could therefore include options such as:

Give once

or

Give monthly

However, recurring payments require a different technical and operational approach from a simple one-time M-Pesa donation.

Do not advertise a “monthly donation” feature unless the underlying payment architecture genuinely supports recurring transactions in an appropriate way.

If recurring giving is important to your fundraising strategy, discuss it with your payment provider and development team before designing the feature.

International donors and diaspora giving

Kenyan NGOs often have supporters outside Kenya.

M-Pesa may be highly convenient for donors in Kenya, but it should not necessarily be the only payment method available.

Depending on the organisation’s audience, a donation page might eventually offer:

  • M-Pesa
  • Card payments
  • Other online payment methods
  • International payment options

The correct combination depends on where the NGO’s donors are located.

A useful approach is to analyse actual donor behaviour rather than adding payment methods simply because they are available.

If most donations come from Kenya, prioritising M-Pesa makes sense.

If a significant proportion comes from the United States, United Kingdom, Europe or elsewhere, international payment options may be important.

Common mistakes NGOs make with M-Pesa donations

1. Treating a Paybill number as a complete donation system

Displaying a Paybill number is useful, but it does not provide the same experience as an integrated donation workflow.

2. Making the donor hunt for payment instructions

The donation process should be obvious.

Avoid making users search through the Contact, About or Footer sections for payment information.

3. Asking for too much information

Every unnecessary field can reduce completion rates.

Ask only for information that serves a legitimate purpose.

4. Not providing payment confirmation

A donor should know whether the transaction succeeded.

5. Recording payments manually

Manual reconciliation may work for a small organisation, but it becomes increasingly difficult as donation volumes grow.

6. Ignoring failed transactions

A robust system should handle failed, cancelled and incomplete transactions gracefully.

7. Building the payment system without considering UX

An API can be technically functional while the donation experience is still frustrating.

The donor journey should be designed before development begins.

8. Treating security as an afterthought

Payment-related functionality should be designed with security, access control and data protection in mind from the beginning.

9. Creating a donation page that does not explain impact

People do not donate because a payment button exists.

They donate because they believe their contribution can make a difference.

The page needs to communicate the organisation’s work and the impact of giving.

How much does it cost to integrate M-Pesa into an NGO website?

The cost depends heavily on the complexity of the website and payment system.

A simple donation page displaying M-Pesa instructions can be relatively inexpensive.

A fully integrated donation platform can require considerably more development work.

Costs may include:

  • Donation page design
  • UX research and user-flow design
  • Frontend development
  • Backend development
  • M-Pesa API integration
  • Database development
  • Payment status handling
  • Donation reporting
  • Email notifications
  • Receipt generation
  • Security implementation
  • Testing
  • Hosting and maintenance

If the NGO already has a modern website and content management system, the integration may be relatively straightforward.

If the website is outdated or the organisation wants a complete fundraising platform, rebuilding parts of the website may make more sense.

The key is to define the required functionality before requesting quotations.

For more guidance on budgeting a website project, see our article NGO Website Cost in Kenya 2026: Website Development Budgets.

What to give your web development agency

Before starting the project, your NGO should prepare a basic requirements document.

Include:

Organisation information

  • Legal organisation name
  • Website domain
  • Primary contacts
  • Relevant finance contacts

Donation requirements

  • One-time donations
  • Recurring donations, if required
  • Anonymous donations, if required
  • Suggested donation amounts
  • Custom donation amounts

Campaign requirements

  • General donations
  • Programme-specific donations
  • Emergency campaigns
  • Time-limited fundraising campaigns

Donor information

Specify what information needs to be collected and why.

Payment requirements

Specify the M-Pesa account or payment arrangement that will be used and confirm the appropriate integration requirements with the relevant payment provider.

Reporting requirements

Determine what finance and management teams need to see after donations are received.

Communication requirements

Decide whether donors should receive:

  • Confirmation emails
  • Receipts
  • Thank-you messages
  • Campaign updates
  • Impact reports

This makes it much easier for a development agency to scope the project accurately.

Questions to ask your web development agency

Before hiring an agency to implement M-Pesa donations, ask:

  1. Have you integrated M-Pesa into websites before?
  2. Which M-Pesa integration approach do you recommend for our organisation?
  3. How will successful payments be verified?
  4. How will failed and cancelled payments be handled?
  5. How will duplicate transactions be prevented?
  6. Where will donation records be stored?
  7. Can authorised staff export donation records?
  8. Can donations be associated with specific campaigns?
  9. How will donor data be protected?
  10. How will the integration be tested before going live?
  11. What happens if the M-Pesa service is temporarily unavailable?
  12. Who will maintain the integration after launch?
  13. What happens when API credentials or payment configurations need to be changed?
  14. Can the system integrate with our existing CRM or accounting workflow?

These questions can help distinguish between an agency that simply knows how to create a form and one that understands the broader requirements of a donation platform.

For more procurement guidance, see 10 Questions to Ask a Web Design Agency Before You Sign.

A good M-Pesa donation architecture

For a professional NGO website, the donation system can be thought of as several connected components:

Donor-facing website

The page where the donor selects an amount and provides relevant information.

↓

Payment integration

The website communicates with the appropriate M-Pesa services.

↓

Payment processing

The transaction is initiated and the donor authorises the payment.

↓

Payment confirmation

The system receives and verifies the transaction result.

↓

Donation database

The successful transaction is recorded.

↓

Notifications

The donor and relevant NGO staff receive appropriate confirmations.

↓

Reporting

The organisation can reconcile, analyse and report on donations.

This architecture helps ensure that the donation feature is not treated as an isolated button on the website.

Designing the donation experience for mobile users

A significant proportion of Kenyan website traffic is mobile.

Your donation page should therefore be designed mobile-first.

Consider:

  • Large, easy-to-tap donation amount buttons
  • Minimal form fields
  • Clear instructions
  • Fast page loading
  • Prominent payment buttons
  • Simple error messages
  • No unnecessary pop-ups
  • Responsive design
  • Clear confirmation after payment

The donor should be able to complete the process comfortably on a smartphone.

A beautiful desktop donation page that is difficult to use on a phone is not a successful donation experience.

Make the impact visible

Payment technology is only part of fundraising.

The strongest donation pages connect the transaction to the organisation’s mission.

Instead of simply saying:

Donate KSh 1,000

consider explaining what the contribution can help achieve, where this is accurate and supported by the organisation’s programme model.

For example:

KSh 1,000 can help support educational materials for children participating in our programme.

Use real figures and programme information wherever possible.

This can make the donation feel less like a financial transaction and more like participation in the organisation’s mission.

For organisations working with institutional and individual donors, this also connects naturally with broader impact communication. A well-designed website should make it easy for visitors to understand not only what the NGO does, but also what previous funding has helped accomplish.

When should an NGO integrate M-Pesa directly?

A direct integration is particularly worth considering when:

  • The organisation receives regular online donations
  • The website is an important fundraising channel
  • Staff spend significant time reconciling donations manually
  • The NGO runs multiple fundraising campaigns
  • Donors frequently ask for online payment options
  • The organisation wants better donation analytics
  • The NGO wants to automate donor acknowledgements
  • The organisation is investing in a broader digital transformation

For a very small organisation receiving only occasional donations, a simple M-Pesa payment instruction page may be sufficient.

The right solution is the one that matches the organisation’s actual fundraising volume and operational needs.

M-Pesa integration should be part of the wider website strategy

An NGO website should not be designed as a collection of isolated features.

The donation system should fit into the wider digital experience.

A visitor might first discover the organisation through:

  • A Google search
  • A social media post
  • A donor referral
  • A news article
  • A programme page
  • A partner website

They may then read about the organisation, explore its programmes, review its impact, and eventually decide to donate.

The website should make that journey coherent.

This is where UX research and strategic web design become particularly valuable. Before implementing the payment technology, an organisation should understand how its donors currently discover, evaluate and support its work.

Zedafrica’s UX Research service can be relevant when an organisation needs to understand these user journeys and design a digital experience around real user behaviour.

A practical checklist for NGO M-Pesa donations

Before launching your donation system, confirm that:

Donation experience

  • Donation page is easy to find
  • Donation purpose is clearly explained
  • Suggested amounts are provided
  • Custom amounts are supported where appropriate
  • Form works well on mobile
  • Payment instructions are clear
  • Donor receives confirmation

Payment integration

  • Appropriate M-Pesa integration has been selected
  • API credentials are securely configured
  • Successful payments are verified
  • Failed payments are handled
  • Cancelled payments are handled
  • Duplicate transactions are prevented
  • Payment records are stored correctly

Data protection

  • Privacy policy is available
  • Only necessary donor information is collected
  • Donor information is protected
  • Access to donation records is restricted
  • Data retention requirements have been considered
  • Third-party data processing has been considered

Administration

  • Staff can view donations
  • Donation statuses are visible
  • Transactions can be reconciled
  • Reports can be generated
  • Campaigns can be tracked where required
  • Data can be exported where appropriate

Testing

  • Successful payment tested
  • Failed payment tested
  • Cancelled payment tested
  • Incorrect information tested
  • Mobile experience tested
  • Confirmation emails tested
  • Administrative reporting tested

Conclusion

Integrating M-Pesa donations into an NGO’s website can make online fundraising significantly more convenient for Kenyan supporters.

But the objective should not simply be to add an M-Pesa payment button.

A successful donation system combines payment technology, user experience, security, data protection, reporting and clear communication about impact.

For smaller organisations, a simple M-Pesa donation page may be enough. For organisations running significant fundraising campaigns, a more sophisticated integration can connect the website, payment processing, donor records, communications and reporting into one workflow.

The most important consideration is to design the entire donor journey rather than treating payment as an isolated technical feature.

For an NGO planning a new website or redesign, M-Pesa donations should be considered during the initial planning and UX stage, not added as an afterthought once the website has already been built.

Zedafrica is a Nairobi-based creative technology company specialising in website design, website development, UI/UX design, UX research and app design. We work with organisations that need digital experiences designed around real users and measurable organisational goals.

If your NGO is planning a new website, redesign or digital fundraising experience, schedule a conversation with Zedafrica to discuss your requirements.

Related Articles

Zedafrica