Why is the transaction cost prompt sometimes a few cents more than 2.9% + $0.30?

Stripe, our payment processor, charges 2.9% + $0.30 on transactions. When donors are prompted to cover this, the prompt is to cover the cost so that the organization receives 100% of your donation. Sometimes, the amount that’s presented to the donor is a few cents more than 2.9% + $0.30 ... but here’s why:

Take a $100 donation:

$100 * 2.9% + $0.30 = $103.20

But, if you process a transaction for $103.20, the payment processor is going to take 2.9%

of $103.20 (not 2.9% of $100) ... less $0.30. In that instance, the amount the organization

would be left with would actually be $99.91, not $100.

In order to fulfill that donor wish of 'covering transaction costs so that 100% goes to the

organization’, the math behind the scenes is $100/(1-2.9%) + 0.30 = 103.30

This is why on a $100 donation, we prompt donors for $3.30 instead of $3.20 ... so that once the payment processor takes their 2.9% + $0.30, the organization receives the full

$100 the donor intended to give.