From a payments perspective, what Stripe (and other processors) are really doing when they shut down accounts or hold balances isn’t just enforcing “policy” — it’s enforcing capital underwriting and automated risk models. Even nonprofits with perfect histories can get flagged because:
Donation flows sometimes resemble suspicious patterns (many small charges, repeated cards, international IPs, ad-driven volume spikes).
Automated systems don’t differentiate “charity” vs “commerce” — they see liability exposure.
Processors underwrite your future risk based on transaction shape and growth, not just past performance.
The result is exactly what’s happened here: funds are held because the system projects possible future chargebacks and liabilities — not because they’ve proven fraud. That’s a hard lesson a lot of founders and non-profits learn too late.
One of the biggest blind spots for organizations is that they focus only on headline fees (“2.9% + $0.30”) and never look at the real cost of risk exposure or account stability. Worst-case cost isn’t just fees — it’s cash flow interruption like you’re seeing.
A good way to start thinking about this earlier — whether you stick with Stripe/PayPal or explore alternatives — is to quantify your true effective processing cost (blended rate, refunds, chargebacks, reserves, hold exposure). There are some tools that help visualize that instead of just the sticker rate, which can be a useful framing when talking to processors or evaluating alternatives: https://effectiveratecalculator.com/
Feel free to share more about your volume and donation flow — patterns like many micro-donations from ads vs recurring donors tend to get flagged more often even when completely legitimate, and understanding that can help frame what processors actually see on their risk engines.