The Dirty Secret Behind Covering Fees — What Fundraising Platforms Don’t Want You to Know

The Dirty Secret Behind Covering Fees — What Fundraising Platforms Don’t Want You to Know

One feature that most, if not all, nonprofit technology companies have is the ability for the donor to cover credit card processing fees when donating. This feature is usually presented as a check-box or a toggle for the donor to select allowing for the total transaction to be added to the overall donation, causing the donor to pay a few dollars above the donation amount.

Donation Form.png

The intention behind the feature makes sense—credit card fees from processors from Stripe or Paypal eat into a donation, and as a nonprofit, you’d prefer for the donor to be able to give 100% of their donation. It’s a practice that allows nonprofits to reduce their costs and companies providing the technology to make a profit without eating into the donation.

However, nonprofit technology companies may be accidentally charging donors too much from this “cover fees” feature with a lot of them probably not even realizing it.

And before diving in, let’s first explain a concept called Recursion.

Understanding Recursion


Recursion is a process in computer science of solving a computational problem where the solution requires one to reference all or a subset of assumptions presented in the original problem. A famous example of recursion is the Fibonacci sequence or a list of numbers where the following number is determined by the addition of the previous two numbers. See an example of this below:

Fibonacci Sequence: 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181…

As you can see, each number in the sequence above is the sum of itself and the number before it. The fact that a number must reference itself in order to continue the sequence makes it a recursive function.

Take a mental note on how fast a recursive function scales to become quite big.

How Recursion affects Covered Fees

Coming back to covering fees, typically, when a fundraising platform provides the option for the donor to cover fees, the underlying technology must reference the original donation amount to calculate the fees the donor wants to add to their transaction. For example, if a donor wants to donate $100 and the calculation for the fee is 2.9% + $0.30, in order to get to the final transaction number of $103.20, the fee calculation must reference the original $100.

At .NGO, in developing the ability for the donor to cover any transaction fee we found that in order to build the feature, it required us to create a calculation that was recursive in nature because, to allow the donor to cover the fee, we have to add the fee onto the original amount.

The main problem with a recursive function when working with payment processors such as Stripe or Paypal is that oftentimes the fundraising platform can’t pass the value of the fee as a separate value for the payment processor to consider at the time of the transaction. Instead, if the donor decides to cover the fee, the fundraising platform is then forced to send Stripe the sum of the original donation and fee. However, once this value is sent, Stripe still has to calculate the fee on their end before finalizing the transaction.

Recursion Example 1.png

The result is a discrepancy between the amount the donor intended to cover and what Stripe charges at the end of the day, where more is taken after the transaction already has happened. And even though the 9-cent discrepancy doesn’t seem like a lot at first, if you’re a nonprofit that processes hundreds of thousands to millions of dollars in donations or if you’re using a fundraising platform that charges more than the standard 2.9% + $0.30, the issue can compound into thousands to tens of thousands of dollars lost.

Recursion Example 2.png

The Solution

We at .NGO believe that this recursion issue is one of many cases against percent-based pricing for many fundraising platforms. Because this recursion issue can become larger with an additional platform fee, this issue where either the donor or the nonprofit is being overcharged can be solved by simply choosing a platform that charges a simple monthly cost for their services. At .NGO we charge a simple $10 every month for our fundraising technology.

Learn more about .NGO

.NGO is a technology company that is building the giving infrastructure of the internet. Nonprofits from around the globe, both big and small, can accept donations and manage their organization online.

We’re building the first ImpactOS online where charities all around the globe can manage and grow their nonprofits with the best technology available.

Currently, we're in closed beta. If you want to start using our product today, then visit

By using this website you agree to our Cookies Policy.

Cookie Settings

We use cookies to improve user experience. Choose what cookie categories you allow us to use. You can read more about our Cookie Policy by clicking on Cookie Policy below.

These cookies enable strictly necessary cookies for security, language support and verification of identity. These cookies can’t be disabled.

These cookies collect data to remember choices users make to improve and give a better user experience. Disabling can cause some parts of the site to not work properly.

These cookies help us to understand how visitors interact with our website, help us measure and analyze traffic to improve our service.

These cookies help us to better deliver marketing content and customized ads.