ShegerPay for Donations & NGOs
Quick Answer: NGOs and fundraisers use ShegerPay to accept donations across CBE, Telebirr, PayPal, Visa, and crypto with full transparency — funds move directly from donor to recipient organization with public verification receipts. Because ShegerPay is non-custodial, 100% of every donation reaches the cause minus only rail fees — there's no platform cut held in transit, no settlement delay, no merchant license required.
The problem NGOs and donation platforms face today
Trust is the entire product for a donation platform. Every donor's first question is "how much actually reaches the cause?" — and for most Ethiopian and Africa-focused NGOs, the honest answer is uncomfortable. Payment processors take 2.9% + $0.30. Banks take wire fees. FX conversion shaves another 2-4%. The platform itself often takes 5-10% to cover ops. By the time funds reach the village school, donors who gave $100 may have funded $80 of work.
Operationally it's worse. Diaspora donors want to give in USD via PayPal or Visa. Local donors prefer Telebirr or CBE Birr. A few crypto-native donors want to send USDT directly to a transparent wallet. Reconciling all of these into one donation campaign means manual matching, custom Excel scripts, and donation receipts emailed days after the fact — exactly when donor enthusiasm has cooled.
Then there's the audit problem. NGOs operate under intense scrutiny — boards, government registration, foreign donor compliance, sometimes USAID or EU reporting. Every donation needs a verifiable trail. Custodial processors give you a JSON dump and a promise; transparent rails (on-chain USDT, CBE statement APIs) give you a cryptographic or bank-attested receipt that auditors actually accept.
How ShegerPay solves it
ShegerPay creates a campaign-level donation page (or embed) accepting every rail your donors use. Funds flow directly to the NGO's verified bank, Telebirr, PayPal, or USDT wallet — no intermediary holding. Every donation generates a public verification receipt (configurable: full transparency or donor-anonymized), with the rail transaction ID, timestamp, amount, and (for USDT) on-chain link.
For campaigns with multiple beneficiary projects, the split workflow routes each donation across pre-configured percentages: 70% to field operations, 20% to logistics, 10% to overhead — every donor sees exactly where their money went, atomically dispatched at the rail.
Code example
import ShegerPay from '@shegerpay/sdk';
const sp = new ShegerPay({ apiKey: 'sk_test_demo' });
// 1. Create a campaign with transparent splits
const campaign = await sp.campaigns.create({
slug: 'gondar-clinic-2026',
title: 'Gondar Rural Clinic Renovation',
goal: 25000,
currency: 'USD',
rails: ['paypal', 'visa', 'usdt_tron', 'cbe', 'telebirr'],
splits: [
{ recipientId: 'rec_field_ops', pct: 70 },
{ recipientId: 'rec_logistics', pct: 20 },
{ recipientId: 'rec_overhead', pct: 10 },
],
publicReceipts: true,
webhookUrl: 'https://ngo.org/api/sp-donations',
});
console.log(campaign.donateUrl);
// e.g. https://pay.shegerpay.com/c/gondar-clinic-2026
// 2. Webhook records every donation transparently
app.post('/api/sp-donations', (req, res) => {
if (!sp.webhooks.verify(req.rawBody, req.headers['x-shegerpay-signature'])) return res.sendStatus(401);
const { event, data } = req.body;
if (event === 'donation.verified') {
db.donations.insert({
campaign: data.campaignSlug,
amount: data.amount,
rail: data.rail,
txId: data.txId,
receiptUrl: data.publicReceiptUrl, // shareable proof
donorName: data.donorName, // null if anonymous
});
}
res.json({ ok: true });
});
Why non-custodial matters for donations
This is the use case where non-custodial isn't just convenient — it's a moral and marketing imperative. Every dollar a custodial processor holds in transit is a dollar not buying medicine, building wells, or feeding people. Every settlement delay is delay in field work. And every account freeze (which happens to NGOs constantly — chargeback disputes, "high-risk" flagging, sanctions screening false positives) means people don't get help.
With ShegerPay's non-custodial flow, donor funds move directly from donor wallet to NGO wallet. There is no intermediate account to freeze. There is no T+3 settlement holding back medicine. There is no platform skim. 100% of every donation minus the rail's own fee (which is what the donor would pay anyway) lands in the NGO's account. The public verification receipt — especially powerful for on-chain USDT donations — gives donors cryptographic proof their gift reached the cause.
Workflow features used
- Campaign pages with multi-rail support
- Public verification receipts (shareable links)
- Transparent split allocations
- Donor-anonymization toggle
- On-chain proof for crypto donations
- CSV exports for audit and grant reporting
Pricing fit
Most small NGOs and crowdfunding campaigns fit on the Free tier (100 verifications/month is enough for a small campaign). Mid-size NGOs running multiple concurrent campaigns sit on Starter $9. Large NGOs with international donor compliance and multi-currency reporting fit on Growth $29. ShegerPay offers nonprofit discounts on Enterprise for registered NGOs — contact us.
FAQ
Does ShegerPay take a percentage of donations? No. ShegerPay charges a flat monthly fee on the plan tier. 100% of donations (minus the donor's rail fee) reach the NGO.
Can donors give anonymously? Yes — toggle anonymization per campaign or per donation.
Can donors give in crypto? Yes — USDT on TRON, BSC, or Ethereum. The on-chain transaction itself becomes the public receipt.
Can we issue tax-deductible receipts? Yes — ShegerPay generates per-donation PDF receipts with your NGO's tax ID and registration details.
How do auditors verify the trail? Every donation has a rail-level transaction ID (bank statement, Telebirr lookup, on-chain hash) plus the ShegerPay-signed receipt URL.
Does it work for emergency fundraising (fast turnaround)? Yes — campaign pages spin up in minutes; donations land in the NGO account in real time.
Related: Pricing · API Docs · ShegerPay vs Chapa · Verify USDT · Non-custodial payments explained